Object.freeze()
JavaScript Object.freeze()方法
Object.freeze()方法冻结了一个对象,阻止了向其添加新属性。此方法可防止修改现有的属性,属性和值。
语法:
参数
obj:要冻结的对象。
返回值:
此方法返回传递给函数的对象。
浏览器支持:
Chrome |
45.0 |
Edge |
12.0 |
Firefox |
32.0 |
Opera |
否 |
示例1
const object1 = {
property1: 22
};
const object2 = Object.freeze(object1);
object2.property1 = 33;
// Throws an error in strict mode
console.log(object2.property1);
输出:
示例2
const obj1 = { property1: 'freeze'};
const obj2 = Object.freeze(obj1);
obj2.property1 = 'new_data';
console.log(obj2.property1);
输出:
示例3
var obj = { prop: function() {}, name: 'charry' };
console.log(obj);
obj.name = 'karri';
delete obj.prop;
console.log(obj);
var o = Object.freeze(obj);
obj.name = 'chris';
console.log(obj);
输出:
[object Object] {
name: "charry",
prop: function() {}
}
[object Object] {
name: "karri"
}
[object Object] {
name: "karri"
}