Reflect.preventExtensions()
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.preventExtensions()
ist vergleichbar mit Object.preventExtensions()
. Sie verhindert, dass neue Eigenschaften jemals zu einem Objekt hinzugefügt werden (d. h., sie verhindert zukünftige Erweiterungen des Objekts).
Probieren Sie es aus
Syntax
Reflect.preventExtensions(target)
Parameter
target
-
Das Zielobjekt, an dem Erweiterungen verhindert werden sollen.
Rückgabewert
Ein Boolean
, das angibt, ob das Ziel erfolgreich auf die Verhinderung von Erweiterungen gesetzt wurde oder nicht.
Ausnahmen
TypeError
-
Wird ausgelöst, wenn
target
kein Objekt ist.
Beschreibung
Reflect.preventExtensions()
bietet die reflexive Semantik der Verhinderung von Erweiterungen eines Objekts. Die Unterschiede zu Object.preventExtensions()
sind:
Reflect.preventExtensions()
wirft einenTypeError
, wenn das Ziel kein Objekt ist, währendObject.preventExtensions()
immer nicht-objektartige Ziele unverändert zurückgibt.Reflect.preventExtensions()
gibt einBoolean
zurück, das angibt, ob das Ziel erfolgreich auf die Verhinderung von Erweiterungen gesetzt wurde, währendObject.preventExtensions()
das Zielobjekt zurückgibt.
Reflect.preventExtensions()
ruft die [[PreventExtensions]]
interne Objektmethode von target
auf.
Beispiele
Verwendung von Reflect.preventExtensions()
Siehe auch Object.preventExtensions()
.
// Objects are extensible by default.
const empty = {};
Reflect.isExtensible(empty); // true
// ...but that can be changed.
Reflect.preventExtensions(empty);
Reflect.isExtensible(empty); // false
Unterschied zu Object.preventExtensions()
Wenn das target
-Argument dieser Methode kein Objekt (ein Primitive) ist, wird es einen TypeError
verursachen. Bei Object.preventExtensions()
wird ein nicht-objektartiges target
ohne Fehler unverändert zurückgegeben.
Reflect.preventExtensions(1);
// TypeError: 1 is not an object
Object.preventExtensions(1);
// 1
Spezifikationen
Specification |
---|
ECMAScript Language Specification # sec-reflect.preventextensions |
Browser-Kompatibilität
BCD tables only load in the browser