JavaScript: 連想配列とオブジェクトの違い

JavaScript では「連想配列」という用語を特に使いません。

他のプログラム言語で言う連想配列のことを、 JavaScriptではオブジェクトといいます。

オブジェクトは次のように記述します。


var obj = {
    id: 1,
    name : 'Tanaka'
};

// name プロパティの値を表示
console.log(obj.name);     // Tanaka
console.log(obj['name']);  // Tanaka

これだけだと、連想配列と同じと言えます。

ですがJavaScript の場合は、値としてデータだけではなく、 関数(処理)をいれることができます。下の例では getName が関数(処理)です。


var obj = {
    id: 1,
    name : 'Tanaka',
    getName: function(){console.log(this.name);}
};

// オブジェクトの関数を呼び出す
obj.getName();  // Tanaka
    

JavaScript のオブジェクトには、上のように関数を入れることができるのです。

値としてデータだけしか入っていない場合は、連想配列といっても特に問題はないと思います。 しかし、関数(処理)が入っている場合はオブジェクトといいます。

そこで広い意味でオブジェクトと呼んでいます。 そうすればデータだけの場合でも、関数(処理)が入っている場合でも当てはまります。

ですからJavaScript では「連想配列」という用語は特に使わずに、「オブジェクト」という用語を使います。

関連記事: 配列とオブジェクトの違い