インスタンス中の変数の外部からの参照の確認

コンストラクタがインスタンスそのものであるような印象を持ってしまっていたので確認した。
コンストラクタはnew演算子によって呼出され新たに生成された「空の」オブジェクトへの参照をthisキーワードに受け取り、インスタンスを初期化するだけ。
コンストラクタの中でvar xxx; のように定義された変数はコンストラクタが呼出されたときコンストラクタの中だけで有効であり、外部から参照できない。
インスタンスではなくクラスプロパティや、クラスメソッドのように扱いたいときは“コンストラクタ名.xxx = yyy;”のように定義する。コンストラクタの中でクラスプロパティや、クラスメソッドを定義することはできないようだ。

値の出力

OBJ0 = new obj(777);を実行後
var var0 = val;と実行した場合は [ ]
this.var1 = val;と実行した場合は [ ]

OBJ0 = new obj(888);を実行後
var var0 = val;と実行した場合は [ ]
this.var1 = val;と実行した場合は [ ]

クラス変数 obj.var2 = 222; [ ]