Reflect.isExtensible()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.
Die statische Methode Reflect.isExtensible()
ähnelt Object.isExtensible()
. Sie bestimmt, ob ein Objekt erweiterbar ist (ob ihm neue Eigenschaften hinzugefügt werden können).
Probieren Sie es aus
Syntax
Reflect.isExtensible(target)
Parameter
target
-
Das Zielobjekt, das überprüft werden soll, ob es erweiterbar ist.
Rückgabewert
Ein Boolean
, das angibt, ob das Ziel erweiterbar ist oder nicht.
Ausnahmen
TypeError
-
Wird ausgelöst, wenn
target
kein Objekt ist.
Beschreibung
Reflect.isExtensible()
bietet die reflektive Semantik zur Überprüfung, ob ein Objekt erweiterbar ist. Der einzige Unterschied zu Object.isExtensible()
ist, wie nicht-objekthafte Ziele behandelt werden. Reflect.isExtensible()
löst einen TypeError
aus, wenn das Ziel kein Objekt ist, während Object.isExtensible()
für nicht-objekthafte Ziele immer false
zurückgibt.
Reflect.isExtensible()
ruft die [[IsExtensible]]
interne Objektmethode von target
auf.
Beispiele
Verwendung von Reflect.isExtensible()
Siehe auch Object.isExtensible()
.
// New objects are extensible.
const empty = {};
Reflect.isExtensible(empty); // true
// ...but that can be changed.
Reflect.preventExtensions(empty);
Reflect.isExtensible(empty); // false
// Sealed objects are by definition non-extensible.
const sealed = Object.seal({});
Reflect.isExtensible(sealed); // false
// Frozen objects are also by definition non-extensible.
const frozen = Object.freeze({});
Reflect.isExtensible(frozen); // false
Unterschied zu Object.isExtensible()
Wenn das target
-Argument dieser Methode kein Objekt ist (ein Primitive), verursacht es einen TypeError
. Mit Object.isExtensible()
wird bei einem nicht-objekthaften target
ein false
ohne Fehler zurückgegeben.
Reflect.isExtensible(1);
// TypeError: 1 is not an object
Object.isExtensible(1);
// false
Spezifikationen
Specification |
---|
ECMAScript Language Specification # sec-reflect.isextensible |
Browser-Kompatibilität
BCD tables only load in the browser