我正在阅读 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.
两者之间有性能差异吗?哪一个被认为是最佳实践?
我已经搜索过了。
更新:
当我输出如下时,我得到一行。
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.';
最佳答案
这是我的 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.
希望这能让事情变得清楚。
关于javascript - 模板文字中的换行符和字符串文字中的 '\' 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39601573/