关于字符串串联的令人困惑的 JavaScript 语句

Confusing JavaScript statement about string Concatenation

本文关键字:JavaScript 语句 字符串      更新时间:2023-09-26

我正在开发一个节点.js站点,我做了一个复制和粘贴错误,导致以下行(针对此问题进行了简化(:

var x = "hi" + + "mom"

它不会崩溃,x = NaN。现在我已经修复了这个错误,我很好奇这里发生了什么,因为如果我删除 + 符号之间的空格,我会得到一个错误(语法错误:无效的增量操作数(

我的问题是:有人可以向我解释语句中发生了什么,以及没有任何内容(+ 号之间的空格(将其从错误更改为 NaN?

附言。我不确定这应该在这里还是 programers.stackoverflow.com。如果我在错误的网站上发帖,请告诉我。

它的解释是这样的:

var x = "hi" + (+"mom")

前缀+尝试将字符串强制转换为数字。 Number('mom')NaN,所以+'mom'也是NaN