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月