Javascriptの配列-リテラルとコンストラクタって

便利でよく使う配列ですが、定義方法が1つではないらしいです。なんで・・・

わからないので頭の整理をしながらまとめていきます。

Javascriptで配列を定義する方法は2つある

2種類あるらしいです。それが、リテラルとコンストラクタ。

リテラルとは

リテラルは、文字列や数字などのデータ型の値を直接記述する方法を指します。

今回話題にしている1つ目の配列の定義方法である配列リテラルとは、以下のような配列です。

値をカンマで区切り、[]で囲っている配列がリテラルで定義する配列です。

コンストラクタとは

コンストラクタとは、新たなオブジェクトを生成するときのメゾット。

Arrayクラスのオブジェクトを生成するコンストラクタ関数が2つ目の配列の定義方法です。

Array()メゾットを用いて、配列を定義します。

配列リテラルとコンストラクタ違い

配列リテラルもコンストラクタも配列を定義する方法なので、どちらを使ってもよいような気がしますが、違いがあります。

上のように配列をそれぞれの方法で初期化し、引数に数値を渡した場合の挙動が異なります。

リテラルでは、要素が1つ定義されているのに対して

コンストラクタでは、要素が5つで中身が未定義の配列を生成。

混乱してきそうなので、必要に駆られない限り配列は配列リテラルがよさそうです。