JavaScript: 配列(array)とオブジェクト(object)の違い

JavaScriptの配列とオブジェクトの違いについて説明します。

配列

配列は数値で番号づけられたリストのことです。次のように記述します。

var arr = [10, 15, 18];

値をカンマで区切り、角括弧 [] で囲みます。 それぞれの値を要素といい、要素に当てられた番号を要素番号といいます。 要素番号はインデックスや添字(そえじ)とも言います。

要素番号(インデックス)は、先頭から0、1、2 .. となります。 上の配列の場合は、要素番号 0 の値は 10、要素番号 1 の値は 15 となります。

オブジェクト

オブジェクトはプロパティの集合です。プロパティとは「名前と値の組」です。 ですから、オブジェクトとは、「名前と値の組」の集合ともいえます。次のように記述します。

var obj = {
    name: 'tanaka',
    adress: 'Tokyo'
};

プロパティをカンマで区切り、波括弧 {} で囲みます。 先程プロパティは「名前と値の組」と述べました。名前のことをプロパティ名といいます。 プロパティは、プロパティ名と値をコロン(:) で区切ります。

「name: 'tanaka'」 の例で言うと、プロパティ名が「name」で、値が「'tanaka'」です。

配列とオブジェクトの参照方法

参照方法の違いについては、 配列は添字(index)を使ってデータを参照し、 オブジェクトはプロパティを使ってデータを参照します。

具体的には次のように参照します。

// 配列
var arr = [10,15,18];
console.log(arr[0]);   // 10

// オブジェクト
var obj = {
    name: 'tanaka',
    adress: 'Tokyo'
};
console.log(obj.name);   // tanaka

配列とオブジェクトのどちらを使うか

どちらを使うかについては、対称となるデータを管理・参照するのに、 配列とオブジェクトのどちらが適切で管理・参照しやすいかを考えて使用します。

例えば、数値だけが順番にならんでいるようなデータなら配列が適切です。

ID、名前、住所、電話番などのデータをまとめて扱うならオブジェクトが適切です。

実際にプログラミングを作る段階では、どちらも必要となる場合が多々ありますので、 配列とオブジェクトの基本はしっかりと理解しておく必要があります。

まずは配列を学んで、次にオブジェクトを学んで、その次に配列とオブジェクトを組み合わせる方法を学ぶと良いでしょう。

ちなみにJavaScriptでは配列はオブジェクトの一部です。

JavaScript入門