此頁面由社群從英文翻譯而來。了解更多並加入 MDN Web Docs 社群。

View in English Always switch to English

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 ⁨2015年7月⁩.

Date 實例的 valueOf() 方法會回傳此日期自紀元(定義為 UTC 時間 1970 年 1 月 1 日午夜)以來的毫秒數。

嘗試一下

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

瀏覽器相容性

參見