Object.freeze() 防止对象改变
const
声明并不会真的保护数据不被改变。 为了确保数据不被改变,JavaScript 提供了一个函数 Object.freeze
。
任何更改对象的尝试都将被拒绝,如果脚本在严格模式下运行,将抛出错误。
let obj = {
name:"TypeScriptCode",
review:"Awesome"
};
Object.freeze(obj);
obj.review = "bad";
obj.name = "Test";
console.log(obj);
obj.review
和 obj.newProp
赋值将导致错误,因为我们的编辑器默认在严格模式下运行,控制台将显示值 { name: "FreeCodeCamp", review: "Awesome" }
。