プロパティは、任意のJavaScriptオブジェクトの最も重要な部分です。
JavaScriptのプロパティ
プロパティは、JavaScriptオブジェクトに関連付けられた値です。
JavaScriptオブジェクトは、順序付けられていないプロパティのコレクションです。
プロパティは通常変更、追加、および削除されたが、一部は読み取り専用ですすることができます。
JavaScriptのプロパティへのアクセス
オブジェクトのプロパティにアクセスするための構文は次のとおりです。
objectName.property
// person.age
または
objectName["property"]
// person["age"]
または
objectName[expression] // x =
"age"; person[x]
式は、プロパティ名に評価される必要があります。
JavaScriptのfor...inループ
JavaScriptのfor...inのステートメントは、オブジェクトのプロパティをループします。
構文
for (variableinobject) {
code to be executed
}
内部コードのブロックfor...inループが各プロパティに対して一度だけ実行されます。
オブジェクトのプロパティをループします:
例
var person = {fname:"John", lname:"Doe", age:25};
for (x in person) {
txt += person[x];
}
»それを自分で試してみてください 新しいプロパティの追加
あなたは、単にそれに値を与えることによって、既存のオブジェクトに新しいプロパティを追加することができます。
人物オブジェクトが既に存在すると仮定 - あなたはそれを新たな特性を与えることができます。
あなたは、プロパティ(またはメソッド)名に予約語を使用することはできません。 JavaScriptの命名規則が適用されます。
プロパティを削除します
deleteキーワードは、オブジェクトからプロパティを削除します。
例
var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
delete person.age; // or delete person["age"];
»それを自分で試してみてください deleteキーワードは、プロパティの値とプロパティ自体の両方を削除します。
それが再び追加される前に削除した後、プロパティを使用することはできません。
delete演算子は、オブジェクトのプロパティで使用するように設計されています。 これは、変数や関数には影響を与えません。
deleteオペレータは、事前定義されたJavaScriptオブジェクトのプロパティに使用すべきではありません。 それはあなたのアプリケーションがクラッシュすることができます。
プロパティの属性
すべてのプロパティは、名前を持っています。 加えて、それらはまた、値を持っています。
値は、プロパティの属性の1つです。
その他の属性は次のとおりです。列挙、構成、および書き込み可能。
これらの属性は、プロパティにアクセスする方法を定義します(それが書き込み可能である?それは読みやすいです?)
JavaScriptでは、すべての属性を読み取ることはできますが、唯一のvalue属性を変更することができます(とプロパティが書き込み可能である場合のみ)。
(ECMAScriptの5は、両方のすべてのプロパティの属性を取得および設定するためのメソッドがあります)
プロトタイププロパティ
JavaScriptのオブジェクトは、そのプロトタイプのプロパティを継承します。
deleteキーワードは、継承されたプロパティを削除しませんが、あなたが削除した場合prototypeプロパティを、プロトタイプから継承されたすべてのオブジェクトに影響を与えます。