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


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

JavaScript Object.preventExtensions() 方法可防止向對象添加新屬性。

用法:

Object.preventExtensions(obj)

preventExtensions() 方法是靜態方法,使用Object 類名調用。

preventExtensions()參數

preventExtensions() 方法包含:

  • obj - 應使其不可擴展的對象。

preventExtensions() 的返回值

  • 返回被設為不可擴展的對象。

注意:

  • 通常,不可擴展對象的屬性仍可能被刪除。
  • 嘗試將新屬性添加到不可擴展對象將失敗,無論是靜默還是在嚴格模式下拋出 TypeError
  • 仍然可以將屬性添加到不可擴展對象的原型中。

示例:使用 preventExtensions()

let obj = {};
// by default, objects are extensible
console.log(Object.isExtensible(obj)); // true

let obj1 = Object.preventExtensions(obj);
console.log(obj == obj1); // true -> Returns the same object

console.log(Object.isExtensible(obj)); // false

// TypeError: Cannot define property newProp, object is not extensible
Object.defineProperty(obj, "newProp", {
  value: 123456,
});

輸出

true
true
false
TypeError: Cannot define property newProp, object is not extensible

相關用法


注:本文由純淨天空篩選整理自 Javascript Object.preventExtensions()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。