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 Reflect.preventExtensions()
statische Methode ist vergleichbar mit Object.preventExtensions()
. Sie verhindert, dass jemals neue Eigenschaften zu einem Objekt hinzugefügt werden (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 die Erweiterungen verhindert werden sollen.
Rückgabewert
Ein Boolean
, der angibt, ob es erfolgreich verhindert wurde, dass das Ziel erweitert wird.
Ausnahmen
TypeError
-
Wird ausgelöst, wenn
target
kein Objekt ist.
Beschreibung
Reflect.preventExtensions()
bietet die reflexive Semantik des Verhinderns von Erweiterungen eines Objekts. Die Unterschiede zu Object.preventExtensions()
sind:
Reflect.preventExtensions()
löst einenTypeError
aus, wenn das Ziel kein Objekt ist, währendObject.preventExtensions()
immer nicht-Objekt-Ziele unverändert zurückgibt.Reflect.preventExtensions()
gibt einenBoolean
zurück, der angibt, ob es erfolgreich verhindert wurde, dass das Ziel erweitert wird, 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 primitiver Wert) ist, wird ein TypeError
ausgelöst. Mit Object.preventExtensions()
wird ein Nicht-Objekt-target
unverändert und ohne Fehler zurückgegeben.
Reflect.preventExtensions(1);
// TypeError: 1 is not an object
Object.preventExtensions(1);
// 1
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-reflect.preventextensions |