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)
参数
参数 | 描述 |
object | 必需的。 要冻结的对象。 |
返回值
类型 | 描述 |
对象 | 冻结的对象。 |
更多示例
示例
const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.freeze(fruits);
// 这将抛出错误
fruits.push("Kiwi");
亲自试一试 »
浏览器支持
Object.freeze()
是 ECMAScript5 (ES5) 功能。
ES5 (JavaScript 2009) 自 2013 年 7 月以来在所有现代浏览器中均得到完全支持
Chrome 23 |
IE/Edge 11 |
Firefox 21 |
Safari 6 |
Opera 15 |
2012 年 9 月 | 2012 年 9 月 | 2013 年 4 月 | 2012 年 7 月 | 2013 年 7 月 |