为什么+ +将字符串视为数字

All*_*lly 2 javascript

如果执行以下语句

"Test a b " + "c"
// Output
// "Test a b c"
Run Code Online (Sandbox Code Playgroud)

但如果你执行以下操作,它会被"c"视为一个数字.

"Test a b " + + "c"
// Output
// "Test a b NaN"
Run Code Online (Sandbox Code Playgroud)

为什么两个连续的+符号将字符串视为一个数字?

镀铬测试 40.0.2214.111 m

Pau*_* S. 8

当你这样做时"Test a b " + + "c",它正在做("Test a b ") + (+ "c"),第一个+是字符串连接运算符,第二个+一元运算+,它转换为数字