js Object 的冻结密封扩展的相同以及不同点
Posted tongchuanxing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js Object 的冻结密封扩展的相同以及不同点相关的知识,希望对你有一定的参考价值。
Object.freezed() 冻结 检查函数 Object.isFrozen(obj)
Object.seal() 密封 检查函数 Object.isSealed(obj)
Object.preventExtensions()扩展 检查函数 Object.isExtensible(obj)
共同点:
都不能添加新的属性
(有一个例外就是属性是对象的时候,可以在这个子属性上添加属性(因为对象是一个引用类型))
不同点:
Object.freezed() 和 Object.seal() 不能删除现有属性,不能修改已有属性的可枚举性、可配置性、可写性
Object.preventExtensions() 可以删除现有属性
Object.freezed() 不能修改已有属性的值
Object.seal() 和 Object.preventExtensions()可以修改已有属性的值
以上是关于js Object 的冻结密封扩展的相同以及不同点的主要内容,如果未能解决你的问题,请参考以下文章
ES5 对象的扩展(Object.preventExtensions)密封(Object.seal)和冻结(Object.freeze)