『TypeScript』防止对象改变

242 阅读1分钟

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.reviewobj.newProp 赋值将导致错误,因为我们的编辑器默认在严格模式下运行,控制台将显示值 { name: "FreeCodeCamp", review: "Awesome" }