Javascript Object.isFrozen()
JavaScript Object.isFrozen()检查对象是否冻结。
冻结的对象无法再更改。冻结对象可防止:
- 从新属性添加到对象。
- 要从对象中删除的现有属性。
- 更改现有属性的可枚举性,可配置性或可写性。
- 更改现有对象属性和原型的值。
isFrozen()
方法的语法为:
Object.isFrozen(obj)
isFrozen()
方法是静态方法,使用Object
类名称进行调用。
isFrozen()参数
isFrozen()
方法具有以下功能:
- obj-应该检查的对象。
从isFrozen()返回值
- 返回一个
Boolean
指示给定对象是否冻结。
示例:使用isFrozen()
// new objects are extensible, so not frozen console.log(Object.isFrozen({ name: "JavaScript" })); // false // preventing extensions only does not make frozen // property is still configurable let obj = { a: 1 }; Object.preventExtensions(obj); console.log(Object.isFrozen(obj)); // false // deleting property delete obj.a; console.log(Object.isFrozen(obj)); // true -> vacuously frozen let newObj = { b: 2 }; // make non-extensible Object.preventExtensions(newObj); // make non-writable Object.defineProperty(newObj, "b", { writable: false, }); // properties are still configurable console.log(Object.isFrozen(newObj)); // false // using freeze() let frozen = { 65: "A" }; Object.freeze(frozen); console.log(Object.isFrozen(frozen)); // true
输出
false false true false true.
推荐读物:
- JavaScript Object.freeze()
总计 0 评论