JavaScriptのObject.definePropertyを説明する

JavaScript

JavaScript 

説明

Object.definePropertyは、JavaScriptの組み込み関数であり、オブジェクトに新しいプロパティを定義するために使用されます。

この関数は3つの引数を取ります。

  • 最初の引数は対象となるオブジェクトです。
  • 2番目の引数はプロパティの名前です。
  • 3番目の引数はプロパティの属性や動作を定義するための設定オブジェクトです。

設定オブジェクトにはいくつかのプロパティがあります。例えば、valueプロパティはプロパティの値を指定し、writableプロパティはプロパティの値が変更可能かどうかを示します。また、enumerableプロパティはプロパティが列挙可能かどうかを示し、configurableプロパティはプロパティの設定を変更可能かどうかを示します。

const obj = {};

Object.defineProperty(obj, 'name', {
  value: 'John',
  writable: false,
  enumerable: true,
  configurable: true
});

console.log(obj.name);  // 結果: John
obj.name = 'Jane';      // 書き込み不可のため、エラーが発生します
console.log(obj.name);  // 結果: John

for (let key in obj) {
  console.log(key);     // 結果: name
}

上記の例では、objオブジェクトにnameというプロパティを定義しています。プロパティの値は'John'とし、writablefalseに設定しています。したがって、プロパティの値を変更することはできません。enumerabletrueに設定されているため、for...inループでプロパティが列挙可能です。

Object.definePropertyを使用することで、オブジェクトのプロパティの振る舞いや属性を細かく制御することができます。

コメント

タイトルとURLをコピーしました