var wrapped_string = "shouldn't this\
work?"
JSLint给出了错误的擒纵错误。
那么我们如何在 JavaScript 中做 heredoc 呢?我有一个很长的 HTML 字符串。
我认为这被视为错误的原因是因为这个语法扩展最近在ECMAScript 5th Edition Specification上被标准化。
尽管受到广泛支持,但在 ECMAScript 3 实现(这是最广泛可用的实现)上,您不能保证它会工作,或者只是导致早期SyntaxError
异常。
一些人争辩避免它的另一个原因是,如果您有任何其他不是 a 的字符,那么即使在 ECMAScript 5 实现上,LineTerminator
您也会有一个。SyntaxError
例如,如果反斜杠后面有一个空格,则代码会产生错误,并且仅通过阅读代码不容易发现:
// works:
var str = "foo\
bar";
// an space after it, SyntaxError:
var str = "foo\
bar";
JSLint 伤害你的感情,没有别的,试着在 jQuery 上运行它来看看。
当你有一吨弦时,擒纵机构很好,我认为它比使用一吨+
.
您可以通过 jslint.yml 启用 ECMA5 语法。这将全部转义换行符。
es5: true # 如果允许 ECMAScript 5 语法,则为 true