防篡改对象

1、不可拓展对象

使用Object.preventExtensions(obj)方法,阻止对obj添加属性或方法,但可以修改和删除已有的成员。

确定对象是否可以拓展:Object.istExtensible()

2、密封对象

使用Object.seal(obj)可以密封对象,阻止对obj添加、删除属性和方法。但可以修改已有的成员。

确定对象是否被密封:Object.isSealed(),同时由于密封对象不可拓展 Object.isExtensible() 也会返回false

3、冻结对象

使用Object.freeze(obj)可以冻结对象,阻止对obj添加、删除、修改属性或方法。、

确定对象是否冻结:Object.isFrozen()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 防篡改对象 JS是若类型语言,变量和对象都可以被同一个运行环境中的代码修改掉;开发人员很可能会意外地修改别人的代码...
    风吹燕尾阅读 4,587评论 0 0
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,796评论 1 32
  • 不可扩展对象isExtensions:不可以给对象再添加新属性和方法了,但是可以修改和删除已有的成员。 密闭的对象...
    勾起一抹笑容阅读 4,844评论 0 0
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,851评论 6 13
  • 何为孤寂 清风 艳阳 无笑意 可否具体 左拥右抱 无情欲 可否再具体 不得你
    白菜周阅读 1,287评论 0 0