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
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
isExtensible | ChromeFull support49 | EdgeFull support12 | FirefoxFull support42 | Internet ExplorerNo supportNo | OperaFull support36 | SafariFull support10 | WebView AndroidFull support49 | Chrome AndroidFull support49 | Firefox for AndroidFull support42 | Opera AndroidFull support36 | Safari on iOSFull support10 | Samsung InternetFull support5.0 | DenoFull support1.0 | Node.jsFull support6.0.0 |
Legend
- Full support
- Full support
- No support
- No support
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.