什么 Javascript 语言规则导致以下转换怪异?
new Date() - 2 => number
new Date() * 2 => number
new Date() / 2 => number
但
new Date() + 2 => string
我原以为 + 运算符会使用对象的valueOf()
方法Date
将其转换为数字。就像下面的例子:
{valueOf: function() {return 1;}} + 2 => number
a 的情况有什么不同Date
?