當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaScript Object.isSealed()用法及代碼示例


JavaScript Object.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.isSealed()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。