JavaScriptでの配列は、ハッシュにもオブジェクトにもなる!
以下のようにJavaScriptでの配列は、ハッシュにもオブジェクトにもなりますね。
また、配列作成には3通りがあります。
サンプルソース
<html> <body> <script type="text/javascript"> //var a = []; // 配列リテラルで配列作成(大括弧[]) //var a = {}; // オブジェクトリテラルで配列作成(中括弧{}) var a = new Array; // new Array で配列作成 //配列 a[0] = "123"; a[1] = 123; //ハッシュ a["aaa"] = "456"; a["bbb"] = 456; //オブジェクト a.xxx = "789"; a.yyy = 789; for (var i in a) { document.write("a["+i+"]の値 = "+a[i]+";<br>"); } </script> </body> </html>
サンプル実行結果
a[0]の値 = 123; a[1]の値 = 123; a[aaa]の値 = 456; a[bbb]の値 = 456; a[xxx]の値 = 789; a[yyy]の値 = 789;
っていうか、JavaScriptでの配列は、ハッシュにもオブジェクトにもなるではなく、
JavaScriptでは、すべてがオブジェクトで、それが配列やハッシュのように扱えるってことかな・・・。
補足
- 配列の配列数は自動拡張します。
- ハッシュのハッシュキーは自由に追加できます。
- オブジェクトのプロパティは自由に追加できます。
- for (var i in a) は オブジェクト(配列、ハッシュ)のプロパティが i に順次格納される。
- つまり、「0」「1」「aaa」「bbb」「xxx」「yyy」はプロパティである。