まず第一に、それはオブジェクトであり、配列ではありません。配列は数値インデックスのみを持つことができ、.length
プロパティなどの特別なセマンティクスを持つことができます。今、あなたの質問に答えるために。
あなたが持っているのは、昔ながらのJavaScriptオブジェクトであり、それにプロパティを割り当てています。MDNにはそれらに関する完全なページがあります。要約は次のとおりです。
プロパティへのアクセス
o.key
またはo["key"]
構文を使用します。次に例を示します。
var object = {
foo: "bar"
};
alert(object.foo); // displays "bar"
このo["key"]
構文は、オブジェクトをルックアップテーブルとして使用する場合に特に便利です。次に例を示します。
var translate = {
"hello": "bonjour",
"goodbye": "au revoir"
};
var word = "hello"; // received through some kind of user input
alert(translate[word]); // displays "bonjour"
プロパティの設定
プロパティへのアクセスに似ていますが、割り当ての左側に配置します。プロパティがすでに存在するかどうかは関係ありません。必要に応じて作成されます。
var object = {};
object.foo = "bar";
alert(object.foo); // still "bar"
プロパティの削除
delete
ステートメントを使用します。
var object = {
foo: "bar"
}
alert(object.foo); // displays "bar"
delete object.foo;
alert(object.foo); // displays "undefined"
alert(object.foo === undefined); // displays true