为什么 console.log 会这样?
Why does console.log behave like this?
关于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
预先感谢您的回答。
当 logging 一个字符串时,它被完全解析并且每个字符都被转义,没关系,这是预期的行为。
尽管如此,显示一个字符串(不是logging),解释器试图以最简单的方式显示它form. 这也将避免对正在查看它的用户产生任何误解。所以,基本上:
显示"\"hi\""
会显示'"hi"'
,因为你可以在单引号分隔的字符串中写一个双引号而不用转义,这样更容易阅读。
显示'\'hi\''
会显示"'hi'"
,同理
用单引号和双引号显示 "\"hi\", 'hey'"
,将强制解释器向您显示原始字符串(与您使用的格式相同创建了它),因为如果不转义单引号或双引号就无法显示它,所以它只能显示为"\"hi\", 'hey'"
.
亲身体验一下:
var a = "\"hi\", 'hey'";
> "\"hi\", 'hey'"
var b = "\"hi\"";
> '"hi"'
console.log(a + ", " + b);
> "hi", 'hey', "hi"
关于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 预先感谢您的回答。
当 logging 一个字符串时,它被完全解析并且每个字符都被转义,没关系,这是预期的行为。
尽管如此,显示一个字符串(不是logging),解释器试图以最简单的方式显示它form. 这也将避免对正在查看它的用户产生任何误解。所以,基本上:
显示
"\"hi\""
会显示'"hi"'
,因为你可以在单引号分隔的字符串中写一个双引号而不用转义,这样更容易阅读。显示
'\'hi\''
会显示"'hi'"
,同理用单引号和双引号显示
"\"hi\", 'hey'"
,将强制解释器向您显示原始字符串(与您使用的格式相同创建了它),因为如果不转义单引号或双引号就无法显示它,所以它只能显示为"\"hi\", 'hey'"
.
亲身体验一下:
var a = "\"hi\", 'hey'";
> "\"hi\", 'hey'"
var b = "\"hi\"";
> '"hi"'
console.log(a + ", " + b);
> "hi", 'hey', "hi"