Reflect.preventExtensions()
The static
Reflect.preventExtensions()
method prevents new
properties from ever being added to an object (i.e., prevents future extensions to the
object). It is similar to Object.preventExtensions()
, but with
some differences.
Syntax
Reflect.preventExtensions(target)
Parameters
target
-
The target object on which to prevent extensions.
Return value
A Boolean
indicating whether or not the target was successfully set to
prevent extensions.
Exceptions
Description
The Reflect.preventExtensions()
method allows you to prevent new
properties from ever being added to an object (i.e., prevents future extensions to the
object). It is similar to Object.preventExtensions()
.
Examples
Using Reflect.preventExtensions()
See also Object.preventExtensions()
.
// Objects are extensible by default.
let empty = {}
Reflect.isExtensible(empty) // === true
// ...but that can be changed.
Reflect.preventExtensions(empty)
Reflect.isExtensible(empty) // === false
Difference from Object.preventExtensions()
If the target
argument to this method is not an object (a
primitive), then it will cause a TypeError
. With
Object.preventExtensions()
, a non-object target
will be coerced to an object.
Reflect.preventExtensions(1)
// TypeError: 1 is not an object
Object.preventExtensions(1)
// 1
Specifications
Specification |
---|
ECMAScript Language Specification # sec-reflect.preventextensions |
Browser compatibility
BCD tables only load in the browser