在node.js解释器上:-
console.log("A newline character is written like \"\\ n \".");
//output is:-
// A newline character is written like "\ n ".
但是,当您在node.js解释器中简单地输入以下内容时:-
"A newline character is written like \"\\ n \"."
// it prints out:-
//'A newline character is written like "\\ n ".'
有人知道为什么会这样吗?只是想了解更多关于node.js的信息,提前感谢您的回答。
1条答案
按热度按时间nxagd54h1#
当记录一个字符串时,它会被完全解析,每个字符都会被转义,没关系,这是预期的行为。
如果显示一个字符串(而不是日志),解释器会尝试以最简单的形式显示它。这也将避免用户对它的任何误解。因此,基本上:
展示
"\"hi\""
将显示'"hi"'
,因为您可以在单引号分隔的字符串中写入双引号,而无需转义,而且更易于阅读。展示
'\'hi\''
将显示"'hi'"
因为同样的原因。展示
"\"hi\", 'hey'"
,同时使用单引号和双引号,将强制解释器向您显示原始字符串(与您创建它的形式相同),因为在不转义单引号或双引号的情况下无法显示它,因此它只能显示为"\"hi\", 'hey'"
.自己试试看: