JavaScript Object.freeze()
- 上一頁 entries()
- 下一頁 fromEntries()
- 返回上一層 JavaScript 對象參考手冊
定義和用法
Object.freeze()
方法用于防止對對象進行任何更改。
在非嚴格模式下,Object.freeze()
方法會靜默失敗。
在嚴格模式下,Object.freeze()
方法會拋出 TypeError。
被凍結的對象是只讀的。不允許修改、添加或刪除屬性。
可以使用 Object.isFrozen()
方法來檢查對象是否被凍結。
相關方法:
Object.preventExtensions()
允許修改,但阻止添加屬性。
Object.seal()
允許修改,但阻止添加和刪除屬性。
Object.freeze()
阻止修改、添加和刪除屬性。
Object.isExtensible()
如果對象可擴展,則返回 true。
Object.isSealed()
如果對象是密封的,則返回 true。
Object.isFrozen()
如果對象被凍結,則返回 true。
實例
例子 1
"use strict" // 創建對象 const person = { firstName: "Bill", lastName: "Gates", age: 50, eyeColor: "blue" }; // 凍結對象 Object.freeze(person); // 這將拋出錯誤 person.age = 51;
例子 2
const fruits = ["Banana", "Orange", "Apple", "Mango"]; Object.freeze(fruits); // 這將拋出錯誤: fruits.push("Kiwi");
語法
Object.freeze(object)
參數
參數 | 描述 |
---|---|
object | 必需。要凍結的對象。 |
返回值
類型 | 描述 |
---|---|
Object | 被凍結的對象。 |
瀏覽器支持
Object.freeze()
是 ECMAScript5 (ES5) 的特性。
自 2013 年 7 月起,所有現代瀏覽器均完全支持 ES5(JavaScript 2009):
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 23 | IE/Edge 11 | Firefox 21 | Safari 6 | Opera 15 |
2012 年 9 月 | 2012 年 9 月 | 2013 年 4 月 | 2012 年 7 月 | 2013 年 7 月 |
- 上一頁 entries()
- 下一頁 fromEntries()
- 返回上一層 JavaScript 對象參考手冊