GeezerVison is showing developer.mozilla.org — Array() コンストラクター - JavaScript | MDN
Array() コンストラクター
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。
Array() コンストラクターは Array オブジェクトを生成します。
js
new Array()
new Array(element1)
new Array(element1, element2)
new Array(element1, element2, /* …, */ elementN)
new Array(arrayLength)
Array()
Array(element1)
Array(element1, element2)
Array(element1, element2, /* …, */ elementN)
Array(arrayLength)
メモ:
Array() は new を付けてもつけなくても呼び出せます。どちらも新しい Array のインスタンスを生成します。
-
element1, …, elementN
- : JavaScript の配列は、与えられた要素で初期化されますが、
Array コンストラクターに単一の引数が渡され、その引数が数値であった場合は例外です (下記の arrayLength 引数を参照してください)。なお、この特殊な場合は JavaScript の配列が Array コンストラクターで生成されたときのみであり、角ブラケット構文で配列リテラルを作成した場合は当てはまりません。
-
arrayLength
- :
Array コンストラクターに渡された唯一の引数が 0 から 232-1 の間(両端を含む)の整数であった場合は、新しい JavaScript の配列を返し、その length プロパティがその値になります。
メモ:
これは arrayLength 個の空のスロットを持つ配列であり、実際に undefined の値が入ったスロットではありません。疎配列を参照してください。
RangeError
-
引数が数値 1 つ (arrayLength) だけであるものの、その値が整数でないか、 0 以上 232 - 1 以下でなかった場合に発生します。
配列はリテラル記法を使用して生成することができます。
js
const fruits = ["りんご", "バナナ"];
console.log(fruits.length); // 2
console.log(fruits[0]); // "りんご"
配列は単一の数値の引数を持つコンストラクターで生成することができます。配列は length プロパティにその値が設定され生成され、その配列の要素は空スロットになります。
js
const arrayEmpty = new Array(2);
console.log(arrayEmpty.length); // 2
console.log(arrayEmpty[0]); // undefined。実際は空スロット
console.log(0 in arrayEmpty); // false
console.log(1 in arrayEmpty); // false
js
const arrayOfOne = new Array("2"); // 数値の 2 ではなく文字列の "2"
console.log(arrayOfOne.length); // 1
console.log(arrayOfOne[0]); // "2"
2 つ以上の引数がコンストラクターに渡された場合、与えられた要素を持つ新しい Array が生成されます。
js
const fruits = new Array("りんご", "バナナ");
console.log(fruits.length); // 2
console.log(fruits[0]); // "りんご"