Sunflat のブログ

ソフトウェア開発についての話題が多いかも

Flashの && 演算子

Flash Liteの &&, || 演算子は,左辺が2回評価されてしまうらしい.

うっかり

if ( (a+5>b) && c && d && e || f) { ... }

などと書いてしまうと,(a+5>b)が16回も計算されてしまう!

Flash Liteの (a && b) は,C言語風に書くと (a ? a : b) という意味だからみたいだけど,もう少し効率の良いコードを生成してほしいなぁ….

とりあえず,and,or演算子(常に両辺が評価されてしまう)を使うか,if文を入れ子にして代用するのがいいのかな.