Date.prototype.valueOf()

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

Date 例項的 valueOf() 方法返回自 紀元(定義為 UTC 1970 年 1 月 1 日午夜)以來該日期的毫秒數。

試一試

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

console.log(date1.valueOf());
// Expected output: 823230245000

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

console.log(date2.valueOf());
// Expected output: 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

規範

規範
ECMAScript® 2026 語言規範
# sec-date.prototype.valueof

瀏覽器相容性

另見