JavaScript Heredoc?Escape Newline:JSLint Bad Escapement?

ma1*_*w28 2 javascript newline escaping jslint heredoc

var wrapped_string = "shouldn't this\
work?"
Run Code Online (Sandbox Code Playgroud)

JSLint给出了一个糟糕的擒纵错误.

那么我们如何在JavaScript中使用heredoc呢?我有一个很长的HTML字符串.

CMS*_*CMS 7

我认为为什么这被视为错误的原因是因为这个语法扩展最近在ECMAScript第5版规范上标准化了.

虽然受到广泛支持,但在ECMAScript 3实现(这是可用的最广泛的实现)上,您无法保证它将起作用,或者只是导致早期SyntaxError异常.

一些人争辩要避免它的另一个原因是,如果你有任何其他角色不是LineTerminator你将拥有SyntaxError,即使在ECMAScript 5实现.

例如,如果在反斜杠后面有空格,代码将产生错误,并且通过阅读代码并不容易发现:

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

// an space after it, SyntaxError:
var str = "foo\ 
bar";
Run Code Online (Sandbox Code Playgroud)