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 | 必填。 要冻结的对象。 |
返回值
| 类型 | 描述 |
| Object | 被冻结的对象。 |
更多示例
示例
const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.freeze(fruits);
// 这将抛出一个错误:
fruits.push("Kiwi");亲自试一试 »浏览器支持
Object.freeze() 是 ECMAScript 5 (ES5 2009) 的一项特性。
JavaScript 2009 自 2013 年 7 月起,所有浏览器均已支持 JavaScript 2009。
| Chrome 23 |
IE/Edge 11 |
Firefox 21 |
Safari 6 |
Opera 15 |
| 2012年9月 | 2012年9月 | 2013年4月 | 2012年7月 | 2013年7月 |
