javascript禁止修改对象

  • 禁止扩展 Object.preventExtensions(obj);
var me = {
    name: "xiaowtz"
};
console.log(Object.isExtensible(me)); //true,对象默认都是可扩展的

Object.preventExtensions(me); //禁止对象扩展后,不可以给对象添加新的属性

console.log(Object.isExtensible(me)); //false

me.age = 18;
console.log(me); //age属性没有被添加

运行结果:

  技术分享

 

  • 对象封印 Object.seal(obj);

被封印的对象是不可扩展的且不可配置;

  • 对象冻结 Object.freeze(obj);

被冻结的对象是不可扩展的,是被封印的,也不能写入任何数据;即数据属性只读的被封印对象;

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。