对象“冻结”,防止被修改
在有些应用场合下,我们希望我们的对象是不可以被修改的,比如我们提供给外一个服务,但是不想这个服务被修改,这就需要对象能够防止被修改。 在另外一些应用场合,比如 React 通常搭配使用的 immutable.js 采用不可变的数据结构,可以保证最大限度的降低副作用。 对象防止被修改有三个级别:阻止扩展、密封对象、冻结对象,本章内容,针对这些,总结如何使对象数据不可变。 阻止扩展如果一个对象可以添加新的属性,那么这个对象是可以扩展的,阻止扩展就是让这个对象不能被扩展,也就是说不能添加新的属性。 阻止扩展主要涉及这两组函数:Object.isExtensible(obj)/Reflect.isEx…