JavaScript Object.preventExtensions()

定義和用法

Object.preventExtensions() 方法用于阻止向對象添加新屬性。

你可以使用 Object.isExtensible() 來檢查對象是否可擴展。

相關方法:

Object.preventExtensions() 允許修改,但阻止添加屬性。

Object.seal() 允許修改,但阻止添加和刪除屬性。

Object.freeze() 阻止修改、添加和刪除屬性。

Object.isExtensible() 如果對象可擴展,則返回 true。

Object.isSealed() 如果對象是密封的,則返回 true。

Object.isFrozen() 如果對象被凍結,則返回 true。

實例

例子 1

// 創建對象
const person = {firstName: "Bill", lastName: "Gates"};
// 阻止擴展
Object.preventExtensions(person);
// 在嚴格模式下,這將拋出錯誤
person.nationality = "English";

親自試一試

例子 2

// 創建數組
const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.preventExtensions(fruits);
// 在嚴格模式下,這將拋出錯誤:
fruits.push("Kiwi");

親自試一試

語法

Object.preventExtensions(object)

參數

參數 描述
object 必需。要阻止擴展的對象。

返回值

類型 描述
Object 被修改后的對象。

瀏覽器支持

Object.preventExtensions() 是 ECMAScript5 (ES5) 的特性。

自 2013 年 7 月起,所有現代瀏覽器均完全支持 ES5(JavaScript 2009):

Chrome Edge Firefox Safari Opera
Chrome 23 IE/Edge 11 Firefox 21 Safari 6 Opera 15
2012 年 9 月 2012 年 9 月 2013 年 4 月 2012 年 7 月 2013 年 7 月