自作コンパイラの部屋 > オブジェクト指向プログラム言語としてのJavaScript > 9.プロパティの実装

9.プロパティの実装

 今までの説明の中で、オブジェクトは連想配列とプロパティを持つことが分かりました。

    var obj = new Object();
    obj.["foo"] = 1;
    obj.foo = "abc";

 連想配列とプロパティは、どちらもオブジェクトの属性を表す目的で利用できます。また、どちらも特に宣言しなくともいきなり利用することもできます。この両者、なんとなく似ています。
 実は、この二つ(連想配列とプロパティ)は同じものなのです。オブジェクトのメンバーは、連想配列として実装されています。
 だから、

    var obj = new Object();
    obj["foo"] = 123;
    var p = obj.foo;
    document.writeln("p = ", p);

実行結果:

 obj["foo"]とobj.fooは同じ内容であることが分かると思います。
 メンバーが実は連想配列であるという事実は、for/in文を利用する際に必要となります。

10.for/inの使い方

目次