基本用法
Object.freeze
是一个冻结对象的一个方法
const obj = {
name: '前端背锅侠',
};
Object.freeze(obj);
obj.name = '我被修改了';
console.log(obj.name); // 前端背锅侠
这是一个很基本的用法,obj
对象被冻结了,所以name
无法被修改和删除
为什么?
为什么冻结了以后就无法修改和删除呢?
const obj = {
name: '前端背锅侠',
};
console.log(Object.getOwnPropertyDescriptor(obj, 'name'));
/**
configurable: true
enumerable: true
value: "前端背锅侠"
writable: true
*/
Object.freeze(obj);
console.log(Object.getOwnPropertyDescriptor(obj, 'name'));
/**
configurable: false