何度も入力するのが面倒だと感じた場合this.buttonExample
は、そのオブジェクトを変数に割り当て、残りのステートメントでその変数を使用するだけです。
var b : Button = this.buttonExample;
b.buttonMode = true;
b.useHandCursor = true;
b.addEventListener(...);
他の人が述べたように、with
ステートメントもありますが、コードが読みにくくなり、奇妙な結果につながる可能性があるため、使用は推奨されません。
with (this.buttonExample) {
buttonMode = true;
useHandCursor = true;
addEventListener(...);
}
もちろん、これらの提案をチェーン割り当てなどの他のトリックと組み合わせることができます。
var b : Button = this.buttonExample;
b.buttonMode = b.useHandCursor = true;
b.addEventListener(...);
同じオブジェクトが左側のすべての変数に割り当てられるため、割り当てられた値が不変(たとえば、、数値と文字列であり、配列やその他のほとんどのオブジェクトではない) である場合にのみ、この方法で割り当てをチェーンするように十分注意してください。値が不変の場合、これは問題ではありませんが、可変の場合、次の例のように奇妙な結果になる可能性があります。true
false
a = b = [ ];
a.push(1);
b.push(2);
trace(a); // outputs 1, 2
trace(b); // also outputs 1, 2
この結果の理由は、a
とb
の両方が同じ配列を参照していることです。配列は変更可能であるため、オブジェクトへのアクセス方法は問題ではなく、変更されます。a
変数が異なるという理由だけで、異なる配列を参照しb
ないでください。
次のようなことができると思うかもしれませんが、うまくいきません。
// this will NOT work
var b : Button = this.buttonExample;
(b.buttonMode = b.useHandCursor = true).addEventListener(...);
と言うb.buttonMode = b.useHandCursor = true
のに加算しない.addEventListener(...)
のは、代入式の値 (例: ) が左辺 (例: ) に代入さb.buttonMode = true
れる値だからです。それに追加すると、本質的に言っていることになりますが、これは明らかにあなたが望んでいるものではありません。言い換えるとtrue
.addEventListener(...)
true.addEventListener(...)
b.buttonMode = b.useHandCursor = false;
と同等です
b.useHandCursor = false;
b.buttonMode = b.useHandCursor;
これにより、上記の警告も明確になるはずです。