2
var wrapped_string = "shouldn't this\
work?"

JSLintは不正なエスケープメント エラーを返します。

では、JavaScript でヒアドキュメントを行うにはどうすればよいでしょうか。長い HTML 文字列があります。

4

3 に答える 3

7

これがエラーとして扱われる理由は、この構文拡張が最近ECMAScript 5th Edition Specificationで標準化されたためだと思います。

は広くサポートされていますが、ECMAScript 3 の実装 (最も広く利用可能な実装です) では、それが機能するという保証はなく、初期のSyntaxError例外が発生するだけです。

一部の人々がそれを避けると主張するもう 1 つの理由は、 ECMAScript 5 の実装であっても、ではない他の文字がある場合、 があるということLineTerminatorです。SyntaxError

たとえば、バックスラッシュの後にスペースがあると、コードでエラーが発生し、コードを読んだだけでは簡単に見つけることができません。

// works:
var str = "foo\
bar";

// an space after it, SyntaxError:
var str = "foo\ 
bar";
于 2011-01-13T20:15:21.180 に答える
1

JSLint はあなたの気持ちを傷つけます。jQuery で実行してみてください。

大量の弦を使用する場合、脱進機は問題ありません。大量の を使用するよりもクリーンだと思います+

于 2011-01-13T20:16:16.450 に答える
0

jslint.yml を介して ECMA5 構文を有効にすることができます。これはすべて改行をエスケープします。

es5: true # ECMAScript 5 構文を許可する場合は true

于 2011-09-02T16:10:25.127 に答える