JSLintオプション考察「dangling _ in identifiers」
「dangling _ in identifiers」オプションは、アンダースコア( _ )から始まる変数名(または関数名)を許可するかどうかのオプションです。デフォルト(false)では、アンダースコアから始まる変数名、関数名は許可されません。
「dangling _ in identifiers」オプションは、アンダースコア( _ )から始まる変数名(または関数名)を許可するかどうかのオプションです。デフォルト(false)では、アンダースコアから始まる変数名、関数名は許可されません。
「uncapitalized constructors」オプションは、関数名が小文字で始まるコンストラクタ関数の定義を許可するかどうかのオプションです。デフォルト(false)では、小文字から始まるコンストラクタ関数名は許可されず、同時に、大文字から始まる関数はコンストラクタ関数であるとみなされます。
JavaScriptであるオブジェクトのプロパティを列挙するにはfor-inループを使用しますが、この時列挙されるプロパティには、プロトタイプ連鎖から来たプロパティも含まれることに注意しなければなりません。
JSLintでは「unfiltered for in」オプションがデフォルト(false)の場合、for-inを使用してオブジェクトのプロパティを評価する際に hasOwnProperty() でプロパティのフィルタリングを行わないと警告が表示されます。
「eval」オプションはeval()やnew Function()といった、文字列をJavaScriptコードとして評価する機能の使用を許可するかどうかのオプションです。
どうしてもコード中で eval または Functionコンストラクタを使用しなければならない場合を除き、このオプションはデフォルト(false)のままで良いでしょう。
「ES5 syntax」はECMA Script5(ES5)固有の構文を許可するかどうかを指定するオプションです。
ES5の使いどころはまだ限られてくるとは思いますが、JavaScriptの実行環境が予め定まっており、ES5の新機能が使えることが分かっていればこのオプションをtrueにしておいても良いと思います。それ以外の場合はデフォルト(false)のままにしておいた方がよいでしょう。
JavaScriptでは == や != を使って変数を比較すると暗黙の型変換が行われます。
暗黙の型変換による混乱を避けるためには、 === や !== を使iい、比較の際に値と型の両方がチェックされるようにします。
このように暗黙の型変換を避け、厳密な比較を行うことはJavaScriptでは非常に重要ですので、このオプションはデフォルト(false)のままにしておいた方が良いでしょう。
JavaScriptコード内にdebuggerステートメントを記述しておくと、処理がそこに到達した段階で処理が「一時停止」されます。中止ではなく一時停止なので、変数の状態などは全て保持されるため、一時停止したところから再開させることもできます。
一時的に処理を停止させておき、その状態で変数の内容を確認したりすることができるので非常に便利です。
このdebuggerステートメントの記述を許容する場合は、JSLintのオプション「debugger statements」を true にしておく必要があります。
JSLintのオプショングループ「Tolerate」ではJSLintのコードチェックにおける「規制緩和」を行います。
今回はその中の「continue」についてです。
「continue」オプションは、for や while といったループ内でcontinue文の使用を許可するかどうかのオプションです。デフォルト(false)ではcontinue文の使用は許可されません。
JSLintのオプショングループ「Tolerate」ではJSLintのコードチェックにおける「規制緩和」を行います。
今回はその中の「bitwise operators」についてです。
「bitwise operators」オプションは、ビット演算子の使用を許可するかどうかのオプションです。デフォルト(false)ではビット演算子の使用は許可されません。
JSLintのオプショングループ「Tolerate」ではJSLintのコードチェックにおける「規制緩和」を行います。
今回はその中の「assignment expressions」についてです。