どの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
の場合の違いは何Dateですか?