當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaScript Object.isFrozen()用法及代碼示例


JavaScript Object.isFrozen() 檢查對象是否被凍結。

無法再更改凍結的對象。凍結對象可防止:

  1. 新屬性被添加到對象。
  2. 要從對象中刪除的現有屬性。
  3. 更改現有屬性的可枚舉性、可配置性或可寫性。
  4. 更改現有對象屬性和原型的值。

用法:

Object.isFrozen(obj)

isFrozen() 方法是靜態方法,使用Object 類名調用。

isFrozen()參數

isFrozen() 方法包含:

  • obj - 應該檢查的對象。

isFrozen() 的返回值

  • 返回 Boolean 指示給定對象是否被凍結。

示例:使用 isFrozen()

// new objects are extensible, so not frozen
console.log(Object.isFrozen({ name: "JavaScript" })); // false

// preventing extensions only does not make frozen
// property is still configurable
let obj = { a: 1 };
Object.preventExtensions(obj);
console.log(Object.isFrozen(obj)); // false

// deleting property
delete obj.a;
console.log(Object.isFrozen(obj)); // true -> vacuously frozen

let newObj = { b: 2 };
// make non-extensible
Object.preventExtensions(newObj);
// make non-writable
Object.defineProperty(newObj, "b", {
  writable: false,
});
// properties are still configurable
console.log(Object.isFrozen(newObj)); // false

// using freeze()
let frozen = { 65: "A" };

Object.freeze(frozen);
console.log(Object.isFrozen(frozen)); // true

輸出

false
false
true
false
true.

相關用法


注:本文由純淨天空篩選整理自 Javascript Object.isFrozen()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。