このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

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]); // "りんご"

単一の引数を持つ Array コンストラクター

配列は単一の数値の引数を持つコンストラクターで生成することができます。配列は 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"

複数の引数を持つ Array コンストラクター

2 つ以上の引数がコンストラクターに渡された場合、与えられた要素を持つ新しい Array が生成されます。

js
const fruits = new Array("りんご", "バナナ");

console.log(fruits.length); // 2
console.log(fruits[0]); // "りんご"

仕様書

仕様書
ECMAScript® 2027 Language Specification
# sec-array-constructor

ブラウザーの互換性

関連情報