Reflect.isExtensible()
The static
Reflect.isExtensible()
method determines if an object is
extensible (whether it can have new properties added to it). It is similar to
Object.isExtensible()
, but with some differences.
Syntax
Reflect.isExtensible(target)
Parameters
target
-
The target object which to check if it is extensible.
Return value
A Boolean
indicating whether or not the target is extensible.
Exceptions
Description
The Reflect.isExtensible
method allows you determine if an object is
extensible (whether it can have new properties added to it). It is the same method as
Object.isExtensible()
.
Examples
Using Reflect.isExtensible()
See also Object.isExtensible()
.
// New objects are extensible.
let empty = {}
Reflect.isExtensible(empty) // === true
// ...but that can be changed.
Reflect.preventExtensions(empty)
Reflect.isExtensible(empty) // === false
// Sealed objects are by definition non-extensible.
let sealed = Object.seal({})
Reflect.isExtensible(sealed) // === false
// Frozen objects are also by definition non-extensible.
let frozen = Object.freeze({})
Reflect.isExtensible(frozen) // === false
Difference to Object.isExtensible()
If the target
argument to this method is not an object (a
primitive), then it will cause a TypeError
. With
Object.isExtensible()
, a non-object first argument will be coerced to an
object at first.
Reflect.isExtensible(1)
// TypeError: 1 is not an object
Object.isExtensible(1)
// false
Specifications
Specification |
---|
ECMAScript Language Specification # sec-reflect.isextensible |
Browser compatibility
BCD tables only load in the browser