コンテンツにスキップ

JavaScript/プロパティ

出典: フリー教科書『ウィキブックス(Wikibooks)』

プロパティ

[編集]

プロパティとは、JavaScriptにおけるオブジェクトの属性を表します。プロパティは、キー(名前)と値(データまたは動作)のペアとして構成され、オブジェクトのデータや機能を定義します。

プロパティの基本構造

[編集]

JavaScriptのプロパティは、以下の形式で定義およびアクセスされます。

  • 定義: プロパティをオブジェクトに追加する際には、ドット記法またはブラケット記法を使用します。
  • アクセス: オブジェクトのプロパティにアクセスする際にも同様の記法を使用します。
// オブジェクトの定義
const obj = {
  key: "value", // プロパティ
  anotherKey: 42 // プロパティ
};

// プロパティへのアクセス
console.log(obj.key); // "value"
console.log(obj["anotherKey"]); // 42

プロパティの種類

[編集]

JavaScriptのプロパティには、以下のような種類があります。

データプロパティ

[編集]

データプロパティは、値を保持するプロパティです。以下の属性を持ちます。

  • value: プロパティの値。
  • writable: 値の書き換えが可能かどうか。
  • enumerable: 列挙可能かどうか(for...inObject.keys()で表示されるか)。
  • configurable: 削除や再定義が可能かどうか。
// データプロパティの例
const obj = {};
Object.defineProperty(obj, "example", {
  value: 100,
  writable: true,
  enumerable: true,
  configurable: true
});
console.log(obj.example); // 100

アクセサプロパティ

[編集]

アクセサプロパティは、値を取得または設定するためのgettersetterを定義します。値を直接保持しません。

// アクセサプロパティの例
const obj = {
  _value: 0,
  get value() {
    return this._value;
  },
  set value(newValue) {
    this._value = newValue;
  }
};

obj.value = 42;
console.log(obj.value); // 42

プロパティの操作

[編集]

プロパティの操作には以下の方法があります。

プロパティの追加

[編集]

オブジェクトに新しいプロパティを追加します。

const obj = {};
obj.newKey = "newValue";
console.log(obj.newKey); // "newValue"

プロパティの更新

[編集]

既存のプロパティの値を変更します。

const obj = { key: "value" };
obj.key = "updatedValue";
console.log(obj.key); // "updatedValue"

プロパティの削除

[編集]

delete演算子を使用してプロパティを削除します。

const obj = { key: "value" };
delete obj.key;
console.log(obj.key); // undefined

プロパティ属性の取得と設定

[編集]

Object.getOwnPropertyDescriptor()Object.defineProperty() を使用して、プロパティの属性を取得または設定できます。

// プロパティ属性の取得
const obj = { key: "value" };
const descriptor = Object.getOwnPropertyDescriptor(obj, "key");
console.log(descriptor);

// プロパティ属性の設定
Object.defineProperty(obj, "key", {
  writable: false
});

特殊なプロパティ

[編集]

JavaScriptのいくつかの特殊なプロパティとして以下が挙げられます。

まとめ

[編集]