配列の初期化する方法
配列の初期化にはArrayクラスのインスタンスとして初期化する方法と、[ ](スクエアブラケット)を使って初期化する方法があります。
1 2 |
// Arrayクラスのインスタンスとして作成 var array = new Array(); |
1 2 |
// []を使って作成 var array = []; |
Array.newと[ ]の違い
文字列で配列の宣言と初期化を行った場合、
1 2 3 4 |
var array = new Array('aiueo'); console.log(array); // 実行結果:["aiueo"] |
1 2 3 4 |
var array = ['aiueo']; console.log(array); // 実行結果:["aiueo"] |
同じ実行結果が返ってきます。
しかし、数字で配列の宣言と初期化を行った場合に違いがあります。
1 2 3 4 |
var array = new Array(3); console.log(array); // 実行結果:[] |
Array.newで生成・初期化された配列は、Array.new(3)で長さが3の配列を宣言しているという意味になります。array配列の中には何も代入していないので、実行結果では空の配列が返ってきました。
1 2 3 4 |
array = [3]; console.log(array); // 実行結果: [3] |
一方[]で生成・初期化した配列は代入をします。
Array.newでは、もし以下のように配列を初期化した場合、
1 2 |
var array = new Array(-1); // 実行結果:エラー |
長さが-1の配列を作成しようとしてエラーが出てしまいます。
文字列の場合ではどちらの方法で初期化しても良いですが、数字の場合には[]を使って初期化する方が様々な配列に対応できます。