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 einem Objekt jemals neue Eigenschaften hinzugefügt werden können (d. h., sie verhindert zukünftig 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 die Erweiterungen für das Zielobjekt erfolgreich verhindert wurden oder nicht.
Ausnahmen
TypeError
-
Wird ausgelöst, wenn
target
kein Objekt ist.
Beschreibung
Reflect.preventExtensions()
stellt die reflektive Semantik zur Verfügung, um Erweiterungen eines Objekts zu verhindern. Die Unterschiede zu Object.preventExtensions()
sind:
Reflect.preventExtensions()
löst eineTypeError
aus, wenn das Ziel kein Objekt ist, währendObject.preventExtensions()
nicht-objekthafte Ziele unverändert zurückgibt.Reflect.preventExtensions()
gibt einenBoolean
zurück, der angibt, ob die Erweiterungen des Ziels erfolgreich verhindert wurden, währendObject.preventExtensions()
das Zielobjekt zurückgibt.
Reflect.preventExtensions()
ruft die [[PreventExtensions]]
interne Objektmethode des 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 Argument target
dieser Methode kein Objekt (ein primitiver Wert) ist, wird eine TypeError
ausgelöst. Bei Object.preventExtensions()
wird ein nicht-objekthafter target
ohne Fehler unverändert zurückgegeben.
Reflect.preventExtensions(1);
// TypeError: 1 is not an object
Object.preventExtensions(1);
// 1
Spezifikationen
Specification |
---|
ECMAScript® 2025 Language Specification # sec-reflect.preventextensions |
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
preventExtensions |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support