自作コンパイラの部屋 > オブジェクト指向プログラム言語としてのJavaScript > 7.小数を添え字とする配列

7.小数を添え字とする配列

 前節では、JavaScriptの配列が実は連想配列により実現されているということを説明しました。であれば、小数を添え字とする配列も利用できるのではないかという発想が出てきます。さっそく、試してみることにしましょう。

var a = new Array();
a[0.3] = "[0.3]";
document.writeln("a[0.3] = ", a[0.3]);
document.writeln("a[\".3\"] = ", a[".3"]);
document.writeln("a[\"0.3\"] = ", a["0.3"]);
document.writeln("0.3 = ", 0.3);
実行結果:

 このプログラムは、Netscape Navigator(NN)とInternet Explorer(IE)では実行結果が異なります。

a[0.3]は連想配列としては?
Netscape Navigator a[0.3] と a[".3"] が同じ
Internet Explorer a[0.3] と a["0.3"] が同じ

 上記のような差異が発生する理由は、0.3という小数を文字列に変換する際の仕様が、NNとIEでは異なるからです。

0.3を文字列に変換する
Netscape Navigator .3
Internet Explorer 0.3

8.オブジェクトのプロパティ

目次