JavaScript の +new Date()

var s = +new Date();

こんな記述があったので「何だろう?」と思ってやってみると 数値が返ってきました。

どうやら .getTime() と同じものを返しているようです。

var s = +new Date();
var s = (new Date()).getTime(); // 同じ

調べてみると + を付けた場合 .valueOf() が呼ばるそうです。

[参考]
JavaScript の算術演算子と数値変換 - Togetter

実験。

var obj = {
    toString : function () {
        return "ABC";
    },
    valueOf : function () {
        return 123;
    }
}

window.alert(obj);  // →ABC
window.alert(+obj); // →123

つまり ↓ ということになります。

var s = +new Date();
var s = (new Date()).valueOf(); // 同じ
var s = (new Date()).getTime(); // 同じ

Google サイト内検索

Amazonアソシエイト