switch case文の中で演算
switchの意外な使い方を発見したのでメモ。(私のような素人プログラマには驚きだったものですので)
型チェックを例にすると・・・。
以下if文を使用した例。
var hoge:Array = []; if (hoge is XML) { trace(0); } else if(hoge is Array) { trace(1);//ここがtraceされる } else if(hoge is Sprite) { trace(2); }
以下switch文を使用してやる例。
var hoge:Array = []; switch(true) { case hoge is XML: trace(0); break; case hoge is Array: trace(1);//ここがtraceされる break; case hoge is Sprite: trace(2); break; default: break; }
以上です。
ちなみに条件にもよるかと思いますがAS3ではifよりswitchの方が速いようです。
http://wonderfl.net/code/58b9fe83203fb49db603a1df15f39c6692219fdb