Date.prototype.valueOf()
åºçº¿
广æ³å¯ç¨
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
Date å®ä¾ç valueOf() æ¹æ³ç¨äºè¿åèªçºªå
ï¼å³åè°ä¸çæ¶ 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
è¯æ³
valueOf()
åæ°
æ ã
è¿åå¼
ä¸ä¸ªæ°åï¼è¡¨ç¤ºè¯¥æ¥æçæ¶é´æ³ï¼åä½ä¸ºæ¯«ç§ãå¦æè¯¥æ¥ææ æï¼åè¿å NaNã
æè¿°
valueOf() æ¹æ³æ¯å¼ºå¶ç±»åè½¬æ¢æºå¶çä¸é¨åãç±äº Date æ¥æ [Symbol.toPrimitive]() æ¹æ³ï¼å½ Date 对象被éå¼è½¬æ¢ä¸ºæ°åæ¶ï¼è¯¥æ¹æ³æ»æ¯ä¼å
äº valueOf()ãä¸è¿ï¼Date.prototype[Symbol.toPrimitive]() å¨å
é¨ä»ä¼è°ç¨ this.valueOf()ã
Date 对象éåäº valueOf() æ¹æ³ï¼è¯¥æ¹æ³æ¥èª Objectï¼ãDate.prototype.valueOf() è¿åè¯¥æ¥æçæ¶é´æ³ï¼å
¶åè½ä¸çåäº Date.prototype.getTime() æ¹æ³ã
示ä¾
>ä½¿ç¨ valueOf()
const d = new Date(0); // 1970-01-01T00:00:00.000Z
console.log(d.valueOf()); // 0
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-date.prototype.valueof> |