【发布时间】:2014-11-11 15:14:00
【问题描述】:
这在逻辑上似乎很明显(字符串不能减去),但我想知道在 JavaScript 的底层执行中如何做出这个决定。这里究竟是如何应用强制规则的?
【问题讨论】:
-
都在the language specification。请参见第 11.6.1 节(加法)和第 11.6.2 节(减法)。请注意,步骤完全不同。
-
加号
+运算符被重载:当你给它一个字符串 ('1') 和一个带有+符号的 int 时,它会将它们连接起来(因此你有11)。不可能进行减法连接,因此 JavaScript 会进行实际的减法运算,将两个操作数都设为整数。
标签: javascript