📜  Javascript Object.isSealed()

📅  最后修改于: 2020-09-27 06:53:14             🧑  作者: Mango

JavaScript Object.isSealed()方法检查对象是否密封。

isSealed()方法的语法为:

Object.isSealed(obj)

isSealed()方法是一种静态方法,使用Object类名称进行调用。


isSealed()参数

isSealed()方法具有以下功能:

  • obj-应该检查的对象。

从isSealed()返回值
  • 一个Boolean指示给定对象是否已密封。

注意 :如果对象是不可扩展的并且其所有属性都是不可配置的并且因此不可移动(但不一定是不可写的),则将其密封。


示例:使用isSealed()
// By default, objects are not sealed
let empty = {};
console.log(Object.isSealed(empty)); // false

// non-extensible empty objects are sealed
Object.preventExtensions(empty);
console.log(Object.isSealed(empty)); // true

// for non-empty objects, all properties have to be non-configurable
let obj = { value: "A B C" };
Object.preventExtensions(obj);
console.log(Object.isSealed(obj)); // false

// making all properties non-configurable
Object.defineProperty(obj, "value", { configurable: false });
console.log(Object.isSealed(obj)); // true

// Using seal()
let obj2 = { a: 1, b: 2, c: 3 };
Object.seal(obj2);
console.log(Object.isSealed(obj2)); // true

输出

false
true
false
true
true

根据定义,密封对象是不可扩展的,但不必冻结(不可写)。


推荐阅读: JavaScript Object seal()