JavaScript Object.freeze()
示例
"use strict"
// 建立物件
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
// 凍結物件
Object.freeze(person)
// 這將丟擲錯誤
person.age = 51;
自己動手試一試 »
更多示例見下!
描述
Object.freeze()
方法阻止對物件進行任何更改。
在非嚴格模式下,Object.freeze()
方法將靜默失敗。
在嚴格模式下,Object.freeze()
方法將丟擲 TypeError。
凍結的物件是隻讀的。不允許修改、新增或刪除屬性。
Object.isFrozen()
方法可用於檢查物件是否已凍結。
相關方法
Object.preventExtensions() 允許修改,但阻止新增屬性。
Object.seal() 允許修改,但阻止新增和刪除屬性。
Object.freeze() 阻止修改、新增和刪除屬性。
Object.isExtensible() 如果物件可擴充套件,則返回 true。
Object.isSealed() 如果物件被密封,則返回 true。
Object.isFrozen() 如果物件被凍結,則返回 true。
語法
Object.freeze(物件)
引數
引數 | 描述 |
object | 必需。 要凍結的物件。 |
返回值
型別 | 描述 |
物件 | 已凍結的物件。 |
更多示例
示例
const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.freeze(fruits);
// 這將丟擲錯誤
fruits.push("奇異果");
自己動手試一試 »
瀏覽器支援
Object.freeze()
是 ECMAScript5 (ES5) 的一個特性。
自 2013 年 7 月以來,所有現代瀏覽器都完全支援 ES5 (JavaScript 2009)
Chrome 23 |
IE/Edge 11 |
Firefox 21 |
Safari 6 |
Opera 15 |
2012 年 9 月 | 2012 年 9 月 | 2013 年 4 月 | 2012 年 7 月 | 2013 年 7 月 |