JavaScript Object.defineProperties()

定義和用法

Object.defineProperties() 方法用于添加或更改對象屬性。

Object.defineProperties() 方法允許你更改屬性的元數據。

Object.defineProperties() 方法允許你添加 getter 和 setter。

相關方法:

Object.defineProperty() 添加或修改屬性。

Object.defineProperties() 添加或修改多個屬性。

Object.getOwnPropertyNames() 返回對象的所有屬性名。

Object.getOwnPropertyDescriptor() 返回屬性的描述符。

Object.getOwnPropertyDescriptors() 返回對象所有屬性的描述符。

實例

添加屬性:

// 創建一個對象
const person = {
  firstName: "比爾",
  lastName: "蓋茨"
};
// 添加屬性
Object.defineProperties(person, {
  language: { value: "en" },
  year: { value: "Hello" }
});

親自試一試

語法

Object.defineProperty(object, property, descriptor)

參數

參數 描述
object 必需。要編輯的對象。
property 必需。要編輯的屬性。
descriptor

必需。要添加或更改的屬性的描述符:

  • value: value
  • writable : true|false
  • enumerable : true|false
  • configurable : true|false
  • get : function
  • set : function

返回值

類型 描述
Object 返回傳入的對象,并應用了更改。

瀏覽器支持

Object.defineProperties() 是 ECMAScript 5 (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 月