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()用法及代碼示例
- JavaScript Object.propertyIsEnumerable()用法及代碼示例
- JavaScript Object.isPrototypeOf()用法及代碼示例
- JavaScript Object.assign()用法及代碼示例
- JavaScript Object.isExtensible()用法及代碼示例
- JavaScript Object.getPrototypeOf()用法及代碼示例
- JavaScript Object.isFrozen()用法及代碼示例
- JavaScript Object.seal()用法及代碼示例
- JavaScript Object.getOwnPropertyDescriptors()用法及代碼示例
- JavaScript Object.setPrototypeOf()用法及代碼示例
- JavaScript Object.getOwnPropertySymbols()用法及代碼示例
- JavaScript Object.defineProperties()用法及代碼示例
- JavaScript Object.freeze()用法及代碼示例
- JavaScript Object.is()用法及代碼示例
- JavaScript Object.fromEntries()用法及代碼示例
- JavaScript Object.getOwnPropertyDescriptor()用法及代碼示例
- JavaScript Object.getOwnPropertyNames()用法及代碼示例
- JavaScript Object.defineProperty()用法及代碼示例
- JavaScript Object.keys()用法及代碼示例
- JavaScript Object.values()用法及代碼示例
注:本文由純淨天空篩選整理自 Javascript Object.preventExtensions()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。