我正在阅读ES2015规范中的模板文字,它允许您创建(除此之外)换行符,如下所示:
var brokenStr = `This is
a broken
string.`; //This is a broken string
我们也可以使用反斜杠\
字符来破坏字符串文字。
var anotherBrokenStr = 'This is \
also a broken \
string.'; //This is also a broken string.
两者之间是否存在性能差异?这被认为是最佳做法?
我搜索了SO。
更新
当我输出如下时,我得到一行。
document.getElementById('logger').innerHTML = brokenStr;
当我使用document.write()
时,我会在Chrome检查器中看到此内容:
This is also a broken string.
将空白缩小到浏览器/
中的单个空格更新:更新:
模板文字似乎包含\n
字符。那么,第一个例子与此之间是否有任何区别,或者只是语法糖?
var anotherBrokenStr = 'This is \\n
also a broken \\n
string.';
答案 0 :(得分:3)
这里是我的Node.js REPL的输出,显示了两者之间的差异:
> `hello
... world`
'hello\nworld'
> 'hello\
... world'
'helloworld'
在第一种情况下,我们会在'hello'
和'world'
之间获得换行符。在第二种情况下,我们不会。
编辑:亲爱的主,你彻底迷茫了。
HTML doesn't
respect newlines.
It doesn't matter how many newlines
you put in between your lines.
HTML will still print it
as a single line.

希望能让事情变得清晰。