打印带有换行符的 Javascript 模板字符串

Tzn*_*Tzn 8 javascript debugging node.js template-strings

有没有办法打印(使用console.log)javascript模板字符串,在这种情况下应用替换,但在打印时考虑换行符'\n'?

例如,当我有以下内容时:

let someVar = 'a';

let tsString = `here goes ${someVar} 
some other line
some other line`;

console.log(tsString);
Run Code Online (Sandbox Code Playgroud)

我希望它使用换行符打印,而不是打印 \n。

我认为模板字符串和常规字符串之间可能存在一些转换,但我找不到它。

*** 编辑:它发生在终端上,而不是浏览器上。运行 NodeJS 应用程序。抱歉没有指定,我假设我想要的是特定于 JS 的,而不是节点的(至少是解决方案)。

Try*_*nJS 5

我认为这可能与您使用的操作系统有关,因为 Windows 和 Mac 的行尾字符长度不同。

回答似乎对我有用的特定问题。

const os = require('os');

let someVar = 'a';

let tsString = `here goes ${someVar} ${os.EOL} some other line ${os.EOL} some other line`;

console.log(tsString);
Run Code Online (Sandbox Code Playgroud)

您可以os在此处阅读有关nodejs 文档的中间件:https ://nodejs.org/api/os.html#os_os_eol

这似乎与以下内容类似:如何在 JavaScript 字符串中创建换行符以提供给 NodeJS 以写入文本文件?


小智 2

除了添加到 string 之外\n,另一种解决方案是标准解决方案,如下所示:

你已经有了一个新行的字符:

带有原始源代码的 chrome 控制台

(我无法将该字符粘贴到此处,因为降价会杀死它)

您可以将其捕获在变量中并将其插入模板字符串中:

const newline = tsString[12];
const myString = `Hello ${newline} World!`;
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你。