var wrapped_string = "shouldn't this\
work?"
JSLint悪いエスケープエラーです。JavaScript Heredoc?エスケープ改行:JSLint Bad Escapement?
JavaScriptでheredocをどうやって行うのですか?私は長いHTML文字列を持っています。
var wrapped_string = "shouldn't this\
work?"
JSLint悪いエスケープエラーです。JavaScript Heredoc?エスケープ改行:JSLint Bad Escapement?
JavaScriptでheredocをどうやって行うのですか?私は長いHTML文字列を持っています。
なぜこれがエラーとして処理されるのかという理由は、この構文拡張が最近ECMAScript 5th Edition Specificationで標準化されているためです。
広範にサポートされていますが、ECMAScript 3の実装(これは最も広く実装されています)では動作するとは保証されておらず、ただちにSyntaxError
例外が発生します。
他の理由がありますが、それは避けることをお勧めします。LineTerminator
以外の文字がある場合は、ECMAScript 5実装でもSyntaxError
になります。
あなたはバックスラッシュの後にスペースがあった場合、コードがエラーを生成し、コードを読み取ることによって、ちょうど見つけることが容易ではないだろうが。
// works:
var str = "foo\
bar";
// an space after it, SyntaxError:
var str = "foo\
bar";
JSLintはあなたの気持ち、他には何が痛いです、それを見てjQueryで試してみてください。
文字列が大量にある場合はエスケープメントが問題ありません。+
を使用するよりもきれいだと思います。
jslint.ymlでECMA5構文を有効にすることができます。これはすべて改行をエスケープします。
ES5:真真#はECMAScriptの5構文を許可するかどう
JSLintは、漠然とした推論で任意のルールをたくさん持っています。この場合、複数行の文字列のエラーは一般的で簡単に見逃されることがあります(多くの言語ではエスケープなしで改行が許可されるためです)。 Lintはあなたが\ n "+ [LFはSOのコメントで許可されていません]" "どうしたらいいですか?" – eyelidlessness