以对象属性的6个特性为基础
1. 不可扩展对象
Object.preventExtensions()- 不能给对象添加属性和方法
Object.isExtensible()- 确定对象是否可以扩展。
2. 密封的对象
- 不可扩展
- 已有成员不可配置
- 不能删除属性和方法
- 不能把数据属性修改为访问器属性,或者相反
- 属性值可以修改
Object.seal(): 密封对象Object.isSealed():确定对象是否被密封
3. 冻结的对象
- 不可扩展
- 密封的
- 属性值不能修改
- 定义[[set]]函数,访问器属性仍然可写
Object.freeze(): 冻结对象