各位同学,早上好!今天咱们来聊聊JavaScript里三个冻结、密封、阻断扩展的对象操作,它们就像武侠小说里的三种封印术,各有各的特点和用途。 开场白:对象,江湖,以及可变性 在JavaScript的世界里,对象就是江湖。每个对象都有自己的属性,这些属性就像江湖中人的武功招式,可以被修改,可以被增加,也可以被删除。这种灵活性,我们称之为可变性。 但江湖不是打打杀杀,江湖是人情世故,是秩序。有时候,我们希望某个对象的属性固定下来,防止被意外修改,就像给高手点了穴,让他使不出招式。这就是我们要讨论的Object.freeze()、Object.seal()和Object.preventExtensions()的作用。 第一讲:Object.freeze() – 冰封千里 Object.freeze()就像冰封千里,是最狠的一招。它会冻结一个对象,使其完全不可变。这意味着你不能修改现有属性的值,不能添加新属性,也不能删除现有属性。 const hero = { name: ‘张三’, age: 30, weapon: ‘倚天剑’ }; Object.freeze(hero); h …
继续阅读“JavaScript 中的 Object.freeze(), Object.seal(), Object.preventExtensions() 有什么区别?它们对对象的可变性有何影响?”