さて、これは本当に簡単に思えますが、私はそれを機能させることができません。オブジェクト内の変数を組み合わせる必要があります。このようなもの:
var i = {
a: 1,
b: " sheep",
c: this.a + this.b
}
後で私は次のようなことをすることができます:
i.a = 3;
console.log(i.c);
そして「3匹の羊」を手に入れます。
これはばかげていますか?またはそれに最も近いものは何ですか?
さて、これは本当に簡単に思えますが、私はそれを機能させることができません。オブジェクト内の変数を組み合わせる必要があります。このようなもの:
var i = {
a: 1,
b: " sheep",
c: this.a + this.b
}
後で私は次のようなことをすることができます:
i.a = 3;
console.log(i.c);
そして「3匹の羊」を手に入れます。
これはばかげていますか?またはそれに最も近いものは何ですか?
関数を使用します。
var i = {
a: 1,
b: " sheep",
c: function () {
return this.a + this.b;
}
}
i.a = 3;
console.log(i.c());
これはそのように見えますが、とにかく関数呼び出し()を回避するためにあります。オブジェクトで使用されるgetとsetを見てきました。これは広く使われているものですか?
もちろん、ゲッターは使用できますが、IE <9では機能しません(上記のコードは機能します)。また、完全に新しい言語構文に依存しているため、ゲッターをシムする方法はありません。
var i = {
a: 1,
b: " sheep",
get c() {
return this.a + this.b;
}
}
i.a = 3;
console.log(i.c);
次の場合にのみ、オブジェクトリテラルで可能です。
var i = {
a: 1,
b: " sheep",
c: function() { return this.a + this.b; }
};
console.log( i.c() );
var i = {
a: 1,
b: " sheep",
c: function () { return this.a + this.b }
}
i.a = 3;
console.log(i.c());