プロトタイプを使用してJavaScriptオブジェクトのフィールドを設定する適切な方法を見つけようとしています。
私は以下を使用することができます:
function myData() {};
myData.prototype.a = null;
myData.prototype.b = null;
myData.prototype.c = null;
var data = new myData();
data.a = 1;
data.b = 2;
data.c = 3;
しかし、これはカプセル化のための適切なプロトコルに従っていないようです。
または、次のように実行できます。
function myData() {
this._a = null;
this._b = null;
this._c = null;
};
myData.prototype.__defineGetter__("a", function() {
return this._a;
});
myData.prototype.__defineSetter__("a", function(val) {
this._a = val;
});
私のゲッターがプライベート変数の値を返しているだけで、それを使って何もしていない場合、このメソッドはやり過ぎのようです。
また、後でまで値がない場合は、コンストラクターで値をnullに設定するのは正しいですか?つまり、後で設定します。