操作数非数值、非字符串时会执行自动的类型转换(Number() 转化);
Number()
不仅用于数值相加,还可用于字符串拼接;
3 + '3'; // '33'
x + NaN 结果为 NaN; Infinity + -Infinity 结果为 NaN; null 与 undefined 作为操作数时,会进行 String() 转化为 'null' 'undefined'
x + NaN
NaN
Infinity + -Infinity
null
undefined
String()
'null'
'undefined'
操作数为对象时即会经历我们熟悉的 valueOf() -- toString() 过程。
valueOf() -- toString()