Object.freeze和Object.seal的区别?
2020-05-13 本文已影响0人
风雅欢乐
Object内置对象里有几个静态方法, 用来限制对对象的扩展和配置.
-
Object.preventExtension
: 禁止对象添加属性 -
Object.seal
: 在对象上调用Object.preventExtension(...)
并且把所有属性标记为configurable: false
, 即不能给对象添加新属性, 也不能重新配置对象的所有属性 -
Object.freeze
: 在对象上调用Object.seal(...)
并把所有属性标记为writable: false
, 即"不能给对象添加属性, 也不能修改对象的属性值, 并且还不能重新配置该对象的所有属性, 基本上不能对该对象做任何事情".