plus

一元操作符

一元操作符 +, 将 oprand 转为 number。

+true // 1
+new Date(1) // 1

二元操作符

二元操作符 +,有两种意思:拼接字符串或者数字加法。

想一想下面这些表达式的值是多少?

'1' + 1
1 + 1
true + false
null + null
null + undefined

ToPrimitive(), Date objects 优先尝试 .toString(),其它 objects 优先尝试 .valueOf()

var d = new Date(1)
d + d
d + 1
d - 1

Arrays

[] + 1
[1] + 1
[1, 2] + 1