有些隐式转换我们没有在意
1 + '1' |
'11'、2
加运算中如果只有一个操作符是字符串,则要将另外一个操作数也转换为字符串。
乘运算中如果有一个操作数不是数值,则会调用 Number() 将另一个操作数转换为数值,如果不能转换为数值,则变为 NaN。
[].valueOf(), [1, 2].valueOf() |
[]、[1,2]
valueOf()返回对象本身。
'a' + + 'b' |
'aNaN'
后面的 + 作为一元运算符使用,如果操作数是字符串,则会调用 Number() 将其转换为数值,如果不能转换为数值,则变为 NaN。