【Node.js24.x】Object::defineProperties()メソッドの使い方
definePropertiesメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Object.definePropertiesメソッドは、指定されたオブジェクトに一つ以上のプロパティを新しく定義したり、既存のプロパティの属性を変更したりするために使用されるメソッドです。このメソッドは、通常のプロパティ定義では設定できない詳細な振る舞いをプロパティに与えることを可能にします。
第一引数にはプロパティを定義または変更したい対象オブジェクトを指定し、第二引数には定義したいプロパティの名前とそのプロパティ記述子を含むオブジェクトを渡します。プロパティ記述子には、value(プロパティの値)、writable(値の変更可否)、enumerable(for...inループなどで列挙されるか)、configurable(記述子の変更やプロパティの削除可否)といったデータ記述子属性を含めることができます。また、プロパティへのアクセス時に実行される関数を定義するget(読み取り時)やset(書き込み時)といったアクセサ記述子属性も指定可能です。
これにより、例えば、オブジェクトに読み取り専用のプロパティを追加したり、特定の条件が満たされた場合にのみ値が変更されるプロパティを定義したりするなど、オブジェクトのプロパティの振る舞いを厳密に制御することができます。このメソッドは、操作が完了したオブジェクト自身を返します。高度なオブジェクト操作やフレームワーク、ライブラリの開発において活用されます。
構文(syntax)
1Object.defineProperties(targetObject, { 2 propertyName1: { 3 value: "初期値A", 4 writable: true, 5 enumerable: true, 6 configurable: true 7 }, 8 propertyName2: { 9 value: "初期値B", 10 writable: false, 11 enumerable: false, 12 configurable: false 13 } 14});
引数(parameters)
obj, props
- obj: object: プロパティを定義または変更する対象となるオブジェクト
- props: object: 定義または変更するプロパティと、それらのプロパティ記述子を含むオブジェクト
戻り値(return)
object
指定されたオブジェクトを返します。このオブジェクトには、定義された新しいプロパティが設定されています。