Jshint: 「 '==='を使用して '0'と比較する」エラーを抑制するオプションを追加

作成日 2013年11月15日  ·  7コメント  ·  ソース: jshint/jshint

==を使用してゼロと比較することは、数値であることが保証されている値を比較するときに、エラーや危険ではありません。 例えば:

var arr = ["foo"];
var arrIsEmpty = (arr.length == 0);

私はこれらの状況で==を使用する傾向があり、それは純粋に文体的な決定です。 JSHintには、十分な情報に基づいた希望を尊重していただきたいと思います。

最も参考になるコメント

valueofの答えを利用するのに苦労しているかもしれない他の人にとっては、 "-W041": false設定することでうまくいくようです。

全てのコメント7件

あなたはeqeqeqオプションを知っていますよね? これがこのエラーの原因です。falseに設定すると、このケースから解放されます。 または、 0との比較のみを抑制する(他の値との比較は抑制しない)など、より具体的なものを探していますか?

eqeqeqが一般的なケースです。 eqeqeqがfalseであっても、0と比較するための別のチェックが文句を言うようです。

私が本当に望んでいるのは、==と!=の使用に関するJSHintからのあらゆる形式の苦情を抑制できることですが、それを防ぐのは0との比較です。

うーん、なるほど。 関連するコードはここにあります、それは間違いなくその比較を(とりわけ)呼び出しています:

https://github.com/jshint/jshint/blob/6140ade7437799e182347bf2d39ec68c3c3d0263/src/jshint.js#L2201 -L2215
https://github.com/jshint/jshint/blob/6140ade7437799e182347bf2d39ec68c3c3d0263/src/jshint.js#L1338 -L1346

この警告は、そのコードによって無効にできます。

valueofの答えを利用するのに苦労しているかもしれない他の人にとっては、 "-W041": false設定することでうまくいくようです。

ありがとう@privman

参考までに、ここでも詳細を見つけまし

"eqeqeq": falseときにW041警告を有効にしておく動機はありますか?

影響を受ける状況での==および!=使用を効果的に禁止します。

このページは役に立ちましたか?
0 / 5 - 0 評価