どの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
ですか?