静态
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
.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Reflect.isExtensible(target)
target
The target object which to check if it is extensible.
A
布尔
indicating whether or not the target is extensible.
A
TypeError
, if
target
is not an
Object
.
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()
.
Reflect.isExtensible()
另请参阅
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
Object.isExtensible()
若
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
| 规范 |
|---|
|
ECMAScript (ECMA-262)
The definition of 'Reflect.isExtensible' in that specification. |
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
isExtensible
|
Chrome 49 | Edge 12 | Firefox 42 | IE No | Opera 36 | Safari 10 | WebView Android 49 | Chrome Android 49 | Firefox Android 42 | Opera Android 36 | Safari iOS 10 | Samsung Internet Android 5.0 | nodejs 6.0.0 |
完整支持
不支持
Reflect
Object
Object.prototype.__defineGetter__()
Object.prototype.__defineSetter__()
Object.prototype.__lookupGetter__()
Object.prototype.__lookupSetter__()
Object.prototype.hasOwnProperty()
Object.prototype.isPrototypeOf()
Object.prototype.propertyIsEnumerable()
Object.prototype.toLocaleString()
Object.prototype.toSource()
Object.prototype.toString()
Object.prototype.valueOf()
Object.setPrototypeOf()