Date.prototype.valueOf()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

valueOf()Date インスタンスのメソッドで、この日時の、 1970 年 1 月 1 日午前 0 時 (UTC) を元期として定義し、それからのミリ秒数を返します。

試してみましょう

const date1 = new Date(Date.UTC(96, 1, 2, 3, 4, 5));

console.log(date1.valueOf());
// 予想される結果: 823230245000

const date2 = new Date("02 Feb 1996 03:04:05 GMT");

console.log(date2.valueOf());
// 予想される結果: 823230245000

構文

js
valueOf()

引数

なし。

返値

この日時をミリ秒単位で表したタイムスタンプの数値。日付が無効である場合は NaN を返します。

解説

valueOf() メソッドは、型変換プロトコルの一部です。 Date には [Symbol.toPrimitive]() メソッドがあるため、 Date オブジェクトが暗黙的に文字列へ変換される場合、このメソッドが常に valueOf() よりも優先されます。ただし、 Date.prototype[Symbol.toPrimitive]() は、内部では依然として this.valueOf() を呼び出します。

Date オブジェクトは、 ObjectvalueOf() メソッドを上書きします。 Date.prototype.valueOf() は、日付のタイムスタンプを返します。これは、 Date.prototype.getTime() メソッドと機能的に同等です。

valueOf() の使用

js
const d = new Date(0); // 1970-01-01T00:00:00.000Z
console.log(d.valueOf()); // 0

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-date.prototype.valueof

ブラウザーの互換性

関連情報