Object.freeze() 具有冻结一个对象的功能:
冻结的对象属性不能修改,不能添加属性(类似 const 一个原始值) ,但是还是阔以借用他的方法。(我们还可以冻结数组)
let num = 1;
let obj = {
foo() {
num++;
},
bar() {
return num;
}
};
Object.freeze(obj);
obj.foo()
obj.bar()
obj.num = num
console.log(obj.foo(),obj.bar(),obj.num)
上诉代码,我们借用了foo 和 bar 方法。是可行的,但是给 obj 添加属性 num 会报错