1. ホーム
  2. javascript

[解決済み] JavaScriptの検証はJSLintとJSHintのどちらを使うべきですか?[クローズド]

2022-03-20 02:59:49

質問

私は現在、自分のJavaScriptをJSLintで検証しており、特にJqueryライブラリを使った作業において、より良いJavaScriptを書くために役立っています。

私は今、以下のものに出会いました。 JSHint のフォークである JSLint .
そこで、JavaScriptを多用するWebアプリケーションでは、どの検証ツールを使用するのが良いのか、あるいは最も適用しやすいのかを考えています。

  • JSLintかJSHintか?

検証の仕組みを今決めて、今後、クライアントサイドの検証にはこれを使いたい。

また、jshintとjslintの違いは何ですか?javascriptの例で説明してください。

リンク集

  1. ジェスチャー - http://www.jshint.com/

  2. jslint - http://jslint.com/

解決方法は?

[EDIT]
この回答は編集されたものです。文脈のために元の答えを下に残しています(そうしないとコメントが意味をなさないので)。

この質問が最初にされたとき、JSLintはJavaScriptの主要なlintingツールでした。JSHintはJSLintの新しいフォークでしたが、まだオリジナルからあまり分岐していませんでした。

それ以来、JSLintはほぼ固定されたままですが、JSHintは大きく変わりました。JSLintのより敵対的なルールの多くを捨て、新しいルールを大量に追加し、一般により柔軟になったのです。また、ESLintというツールも登場し、こちらはさらに柔軟で、より多くのルールオプションを持っています。

最初の回答で、JSLintのルールに無理にこだわる必要はなく、なぜ警告が出るのかを理解していれば、警告を解決するためにコードを変更するかどうか、自分で判断すればよいと申し上げました。

2011年のJSLintの超厳格なルールセットでは、これは合理的なアドバイスでした -- 私はJSLintのテストをパスできるJavaScriptコードセットをほとんど見たことがありません。しかし、今日のJSHintとESLintツールで利用可能な、より実用的なルールでは、あなたのコードが警告ゼロでそれらを通過するように試みることは、より現実的な提案となります。

意図的に行ったことでも、リンターからクレームが来る場合があります -- たとえば、常に === を使用する正当な理由があるのに、今回だけは == . しかし、その場合でも、ESLint では、オプションで eslint-disable を問題の行の周囲に置くことで、残りのコードがルールに従ったまま、警告ゼロでlintテストを通過させることができます。(ただ、そういうことはあまりやらないようにしましょう!)


[オリジナルの回答が続きます]。

<ストライク ぜひJSLintを使ってみてください。しかし、結果にこだわって、警告されたことをすべて修正する必要はありません。JSLintはあなたのコードを改善し、潜在的なバグを見つけるのに役立ちますが、JSLintが警告するすべてが本当の問題であると判明するわけではありませんので、警告をゼロにしてプロセスを完了しなければならないと感じる必要はありません。

<ストライク

Javascriptのコードが長かったり複雑だったりすると、どんなにうまく書かれていても、JSLintで警告が出ます。もし私が信じられないなら、JQueryのような人気のあるライブラリをJSLintで動かしてみてください。

<ストライク JSLintの警告の中には、他のものより価値のあるものがあります。どの警告に注意し、どの警告はそれほど重要でないかを学びましょう。どの警告も考慮すべきですが、与えられた警告をクリアするためにコードを修正することを義務に感じる必要はありません。コードを見て、それで満足だと判断しても全く問題ありません。