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()
ähnelt Object.preventExtensions()
. Sie verhindert, dass neue Eigenschaften zu einem Objekt hinzugefügt werden können (d.h. sie verhindert zukünftige Erweiterungen des Objekts).
Probieren Sie es aus
const object1 = {};
console.log(Reflect.isExtensible(object1));
// Expected output: true
Reflect.preventExtensions(object1);
console.log(Reflect.isExtensible(object1));
// Expected output: false
Syntax
Reflect.preventExtensions(target)
Parameter
target
-
Das Zielobjekt, bei dem Erweiterungen verhindert werden sollen.
Rückgabewert
Ein Boolean
, der angibt, ob das Ziel erfolgreich so eingestellt wurde, dass Erweiterungen verhindert werden.
Ausnahmen
TypeError
-
Wird ausgelöst, wenn
target
kein Objekt ist.
Beschreibung
Reflect.preventExtensions()
bietet die reflektierende Semantik, um Erweiterungen eines Objekts zu verhindern. 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 einenBoolean
zurück, der angibt, ob das Ziel erfolgreich eingestellt wurde, um Erweiterungen zu verhindern, 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 ist (ein primitiver Datentyp), wird ein TypeError
verursacht. 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® 2026 Language Specification # sec-reflect.preventextensions |