在 JavaScript 的 ES6 中,添加了新的字符串类型 "Template literals"(模板字面量),也称作 "Template strings"(模板字符串)。使用这些字符串可以使代码更易读且更简洁。然而,在使用模板字符串时,有时会遇到换行的问题,本文将深入探讨如何解决这个问题。
模板字符串中的换行
在模板字符串中,我们可以用反引号符号 `
包含一些文本内容,并且我们可以使用 ${variable}
通过插值(interpolation)将表达式的结果嵌入到其中。例如:
----- ---- - ------- ------------------- ----------- -- --------- -----
但是,如果我们想在模板字符串中添加多行内容,怎么办? 例如:
----- ------ - - ---- ------ ------ ------ --- ---- -- --------------------
我们期望输出为:
---- ------ ------ ------ --- ----
但是,实际上输出为:
---- ------ ------ ------ --- ----
可以发现,每一行前面都有两个空格缩进。
造成以上结果的原因是,ES6 规范在处理换行时,会自动将反斜线和换行符转义为一个空格字符。因此,上述代码中的每行文字都被添加了两个空格作为缩进。
解决方案:使用 trim 函数
要解决这个问题,我们只需要在 output 中使用 JS 内置的 String.prototype.trim 函数,即可移除输出字符串的前导及结尾的空格。例如:
----- ------ - - ---- ------ ------ ------ --- ---- --------- --------------------
此时,输出将会是我们所期望的:
---- ------ ------ ------ --- ----
.trim()
可以用于任何包含字符串的场景,不仅限于模板字符串中。
结论
在本文中,我们了解了模板字符串中换行的问题,并提供了解决该问题的具体方案。希望读者们掌握了如何正确地在模板字符串中使用换行。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6729cdf82e7021665e25b316