このスニペットの JSLint 検証
1: function foo() {}
2:
3: foo(1
4: );
5:
6: foo(
7: );
このエラーが発生します:
エラー: 行 3 文字 5 の問題: 改行エラー ')'。 フー(1
これは JSLint のバグですか?
このスニペットの JSLint 検証
1: function foo() {}
2:
3: foo(1
4: );
5:
6: foo(
7: );
このエラーが発生します:
エラー: 行 3 文字 5 の問題: 改行エラー ')'。 フー(1
これは JSLint のバグですか?
バグではありません。JSLint は構文チェック以上のことを行います。特定のコーディング規則を適用します。「ずさんな改行を許容する」オプションをオンにして再検証すると、エラーは発生しません。
改行
セミコロン挿入メカニズムに対するさらなる防御として、JSLint は、次の句読点文字または演算子のいずれかの後にのみ、長いステートメントが分割されることを想定しています。
、 。; : { } ( [ = < > ? ! + - * / % ~ ^ | & == != <= >= += -= *= /= %= ^= |= &= << >> || && === !== <<= >>= >>> >>>=
JSLint は、識別子、文字列、数値、closer、または接尾辞演算子の後で長いステートメントが壊れていることを想定していません。
) ] ++ --
JSLint を使用すると、ずさんな改行を許容する (laxbreak) オプションをオンにすることができます。
セミコロンを挿入すると、コピー/貼り付けエラーを隠すことができます。常に演算子の後で改行する場合、JSLint はそれらをより適切に見つけることができます。