[解決済み] JavaScriptの検証はJSLintとJSHintのどちらを使うべきですか?[クローズド]
質問
私は現在、自分のJavaScriptをJSLintで検証しており、特にJqueryライブラリを使った作業において、より良いJavaScriptを書くために役立っています。
私は今、以下のものに出会いました。
JSHint
のフォークである
JSLint
.
そこで、JavaScriptを多用するWebアプリケーションでは、どの検証ツールを使用するのが良いのか、あるいは最も適用しやすいのかを考えています。
- JSLintかJSHintか?
検証の仕組みを今決めて、今後、クライアントサイドの検証にはこれを使いたい。
また、jshintとjslintの違いは何ですか?javascriptの例で説明してください。
リンク集
-
ジェスチャー - http://www.jshint.com/
-
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の警告の中には、他のものより価値のあるものがあります。どの警告に注意し、どの警告はそれほど重要でないかを学びましょう。どの警告も考慮すべきですが、与えられた警告をクリアするためにコードを修正することを義務に感じる必要はありません。コードを見て、それで満足だと判断しても全く問題ありません。
関連
-
vueにおけるv-forループオブジェクトのプロパティ
-
[解決済み】GETできない / Nodejsエラー
-
[解決済み】React Nativeアプリをターミナルから実行するとエラーが発生する(iOS)
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptで二重引用符と単一引用符はいつ使うべきですか?
-
[解決済み】JavaScriptの比較では、どちらの等号演算子(== vs ===)を使うべきですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vueネットワークリクエストソリューション ネイティブネットワークリクエストとjsネットワークリクエストライブラリ
-
Vueはランニングライト形式のテキストを水平方向にスクロールする機能を実装している
-
Vue+ElementUIによる大規模なフォームの処理例
-
JavaScriptのクロージャの説明
-
JavaScriptの配列共通メソッド解説
-
Vueのイベント処理とイベントモディファイアの解説
-
Vueの一般的な組み込みディレクティブの説明
-
[解決済み】Node.jsで "Cannot find module "エラーを解決するには?
-
[解決済み】React Nativeアプリをターミナルから実行するとエラーが発生する(iOS)
-
[解決済み] JSLintが突然レポートする。"use strict" の関数形式を使用する