JavaScript Object.freeze()

定义和用法

Object.freeze() 方法用于防止对对象进行任何更改。

在非严格模式下,Object.freeze() 方法会静默失败。

在严格模式下,Object.freeze() 方法会抛出 TypeError。

被冻结的对象是只读的。不允许修改、添加或删除属性。

可以使用 Object.isFrozen() 方法来检查对象是否被冻结。

相关方法:

Object.preventExtensions() 允许修改,但阻止添加属性。

Object.seal() Ermöglicht die Änderung, verhindert jedoch die Hinzufügung und Entfernung von Eigenschaften.

Object.freeze() Verhindert die Änderung, Hinzufügung und Entfernung von Eigenschaften.

Object.isExtensible() Wenn das Objekt erweiterbar ist, wird true zurückgegeben.

Object.isSealed() Wenn das Objekt versiegelt ist, wird true zurückgegeben.

Object.isFrozen() Wenn das Objekt gesperrt ist, wird true zurückgegeben.

Beispiel

Beispiel 1

"use strict"
// Objekt erstellen
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50,
  eyeColor: "blue"
};
// Objekt sperren
Object.freeze(person);
// Dies wirft einen Fehler aus
person.age = 51;

Selbst ausprobieren

Beispiel 2

const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.freeze(fruits);
// Dies wirft einen Fehler aus:
fruits.push("Kiwi");

Selbst ausprobieren

Syntax

Object.freeze(object)

Parameter

Parameter Beschreibung
object Erforderlich. Das zu sperrende Objekt.

Rückgabewert

Typ Beschreibung
Object Gefrorene Objekte.

Browser-Unterstützung

Object.freeze() Es sind Eigenschaften von ECMAScript5 (ES5).

Seit Juli 2013 unterstützen alle modernen Browser ES5 (JavaScript 2009) vollständig:

Chrome Edge Firefox Safari Opera
Chrome 23 IE/Edge 11 Firefox 21 Safari 6 Opera 15
September 2012 September 2012 April 2013 Juli 2012 Juli 2013