当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript Object.isFrozen()用法及代码示例


JavaScript Object.isFrozen() 检查对象是否被冻结。

无法再更改冻结的对象。冻结对象可防止:

  1. 新属性被添加到对象。
  2. 要从对象中删除的现有属性。
  3. 更改现有属性的可枚举性、可配置性或可写性。
  4. 更改现有对象属性和原型的值。

用法:

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.isFrozen()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。