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

8.オブジェクトのプロパティ

 オブジェクトには「任意の」メンバー変数を追加できます。

    var obj = new Object();
    obj.member = 1;
    obj.foo = "You are a boy.";

 上記のように、メンバー変数を用いるのに予め宣言をする必要はありません。
 変数を宣言しなくてもよい言語は珍しくありませんが、メンバーの宣言が不要という言語は他にあまり例がないような気がします。このことから、JavaScriptのオブジェクトはクラス定義とは別に個々のインスタンスごとに別々のメンバーを持ち得ることになります。JavaScriptにおけるクラス定義はコンストラクタの項で説明します。
 JavaScriptには他の言語と異なりメンバー変数を隠蔽する機能はありません。隠蔽したい変数(プロパティ)がある場合にはネーミングのルール、例えば変数の頭に"_"(アンダースコア)をつけるなどして、運用的に対応するしかなさそうです。

9.プロパティの実装

目次