JavaScriptにおけるオブジェクトについての話の続きです。
前回記事→JavaScript – オブジェクトについて説明してみる(1)
まずはオブジェクトのプロパティへのアクセス方法から。
プロパティへのアクセスは、ドット演算子を使用する、または連想配列の形式を使用することができます。
変数名.プロパティ名 または 変数名["プロパティ名"]
1 2 3 4 5 6 |
var fruitsObj = { fruitA :'メロン', 'fruitD':'マンゴー', value:40, '9monthCount':'400個' }; |
というオブジェクトがあった場合、以下のようにアクセスできます。
1 2 3 4 |
alert(fruitsObj.fruitA); alert(fruitsObj.fruitD); alert(fruitsObj["fruitA"]); alert(fruitsObj["fruitD"]); |
ただし、「’9monthCount’」のようにプロパティ名が識別子の命名規則に従っていない(数字から始まる名称や使用出来ない記号を含んだ名称など)文字列の場合はドット演算子によるアクセスはできません。
1 |
alert(fruitsObj.9monthCount); //←これはNG |
ただし、連想配列の形式であれば問題なくアクセスできます。
1 |
alert(fruitsObj["9monthCount"]); //←これはOK |
そういった意味では連想配列の形式であればプロパティ名の形式を気にせずプロパティにアクセスできます。
1 2 3 4 5 6 |
var TestObj = { 'interval time(mm)':3600, '2nd time(min)':60 }; alert(TestObj["interval time(mm)"]); alert(TestObj["2nd time(min)"]); |
連想配列の形式のアクセスだと、こんな使い方もできます。
1 2 3 4 5 6 7 8 9 10 |
var TestObj = { 'No.1':2500, 'No.2':3800, 'No.3':6400 }; for (var i = 1; i<=3; i++){ var propname = "No." + i; alert(TestObj[propname]); } |