私のクラスには次のようなオブジェクトがあります。
this.options = {
a: 1,
b: 2,
...
};
オプションオブジェクトをJavascriptの現在のスコープに「アタッチ」して、(との代わりa
に)b
直接参照できるようにする方法があるかどうか疑問に思いました。何かのようなもの:this.options.a
this.options.b
attach(this.options);
var myVariable = a + 3; // 4
detach(this.options);
また
with( this.options, {
// code here
var myVariable = a + 3; // 4
});
上記では、attach
とwith
は、のすべての子を取得this.options
して現在のスコープにアタッチする効果があるため、のa
代わりにを介してアクセスできますthis.options.a
。(with
バージョンは、完了すると単に切り離さthis.options
れ、そのスコープ内に損傷を与える可能性のあるアタッチメントを囲みます)。
Spidermonkey / Mozillaエンジンで動作する限り、ポータブルでなくてもかまいません。
好奇心と怠惰のためにこれに言及するだけです:ネストされた名前はすべて入力するのが面倒になり、R言語ではこれが可能であることを知っています(実際、上記のスニペットの構文はほぼ正確にあなたが書くものですこれを達成するためにRで)。