2008年 08月 09日

strict warning: test for equality (==) mistyped as assignment (=)?:

do {
    var node = ...;
...
} while (node = node.next());

条件のところに代入演算子つけたとき、spidermonkey の strict モードの警告でstrict warning: test for equality (==) mistyped as assignment (=)?: ってのがでる。よくある代入演算子と比較演算子の間違えを警告してるっていう便利な(?)機能なんだけど、errormaker.vim つかってるとうざい。

で、ラッパスクリプトでこの警告だけ常に排除してもいいのだけど、nanto_vi さんに twitter で教えてもらったところによると

do {
    var node = ...;
...
} while ( (node = node.next()) );

括弧で囲って式を明示するとでなくなるらしい。これからはこう書こう!