JavaScript オブジェクトのプロパティ
プロパティは、JavaScriptオブジェクトの最も重要な部分です。
JavaScript プロパティ
プロパティは、JavaScriptオブジェクトに関連付けられた値です。
JavaScriptオブジェクトは、順序付けられていないプロパティのコレクションです。
通常、プロパティは変更、追加、および削除できますが、読み取り専用のものもあります。
JavaScriptプロパティへのアクセス
オブジェクトのプロパティにアクセスするための構文は次のとおりです。
または、
または、
式はプロパティ名に評価される必要があります。
JavaScript for...inループ
JavaScriptfor...in構文は、オブジェクトのプロパティをループします。
構文
ループ内のコードブロックは、for...inプロパティごとに1回実行されます。
オブジェクトのプロパティをループします。
例
新しいプロパティの追加
既存のオブジェクトに値を与えるだけで、新しいプロパティを追加できます。
personオブジェクトが既に存在すると仮定すると、新しいプロパティを与えることができます。
プロパティの削除
deleteはオブジェクトからプロパティを削除します。
例
例
deleteは、プロパティの値とプロパティ自体の両方を削除します。
削除後、再度追加するまでプロパティを使用することはできません。
演算子deleteは、オブジェクトのプロパティで使用するように設計されています。変数や関数には影響しません。
このdelete演算子は、事前定義されたJavaScriptオブジェクトのプロパティでは使用しないでください。
アプリケーションがクラッシュする可能性があります。
ネストされたオブジェクト
オブジェクトの値は別のオブジェクトにすることができます:
例
ネストされた配列とオブジェクト
オブジェクト内の値は配列にすることができ、配列内の値もオブジェクトにすることができます。
例
例
プロパティ属性
すべてのプロパティには名前があります。さらに、それらには価値もあります。
値は、プロパティの属性の1つです。
その他の属性は、列挙可能、構成可能、および書き込み可能です。
これらの属性は、プロパティへのアクセス方法を定義します (読み取り可能か、書き込み可能か)。
JavaScriptでは、すべての属性を読み取ることができますが、変更できるのはvalue属性のみです(プロパティが書き込み可能な場合のみ)。
(ECMAScript5には、すべてのプロパティ属性を取得および設定するためのメソッドがあります)
プロトタイプのプロパティ
JavaScriptオブジェクトは、プロトタイプのプロパティを継承します。
このdeleteキーワードは継承されたプロパティを削除しませんが、プロトタイププロパティを削除すると、プロトタイプから継承されたすべてのオブジェクトに影響します。