Date.prototype[@@toPrimitive]
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2017ë 4ì.
[@@toPrimitive]() ë©ìëë Date ê°ì²´ë¥¼ ìì ê°ì¼ë¡ ë³íí©ëë¤.
ìëí´ ë³´ê¸°
// Depending on timezone, your results will vary
const date = new Date("20 December 2019 14:48");
console.log(date[Symbol.toPrimitive]("string"));
// Expected output: "Fri Dec 20 2019 14:48:00 GMT+0530 (India Standard Time)"
console.log(date[Symbol.toPrimitive]("number"));
// Expected output: 1576833480000
구문
Date()[Symbol.toPrimitive](hint)
ë°í ê°
Date ê°ì²´ë¡ë¶í° ë°ì ìì ê°. ì¸ìì ë°ë¼ì, ë©ìëë 문ìì´ì´ë ì«ì를 ë°íí ì ììµëë¤.
ì¤ëª
Date ê°ì²´ì [@@toPrimitive]() ë©ìëë ì«ì íìì´ë 문ìì´ íìì¸ ìì ê°ì ë°íí©ëë¤.
hintê° stringì´ë defaultì´ë©´, [@@toPrimitive]()ë toString ë©ìë를 í¸ì¶íë ¤ê³ í©ëë¤. toString ìì±ì´ ì¡´ì¬íì§ ìë¤ë©´, valueOf ë©ìë를 í¸ì¶íë ¤ í ê²ì´ê³ valueOfì´ ì¡´ì¬íì§ ìë¤ë©´, [@@toPrimitive]()ë TypeError를 ë°ììíµëë¤.
hintê° numberì´ë©´, [@@toPrimitive]()ë í ë² valueOf를 í¸ì¶íë ¤ê³ ìëí©ëë¤, ê·¸ë¦¬ê³ ì¤í¨íë¤ë©´, toString를 í¸ì¶í©ëë¤.
JavaScriptë [@@toPrimitive]() ë©ìë를 ìì ê°ì¼ë¡ ë³íí기 ìí´ í¸ì¶í©ëë¤. ë¹ì ì [@@toPrimitive]() ë©ìë를 í¸ì¶í íìê° ê±°ì ììµëë¤. JavaScriptê° ìì ê°ì´ ììëë ê°ì²´ë¥¼ ë°ê²¬í ë ìëì¼ë¡ í¸ì¶í©ëë¤.
ìì
>ìì ë ì§ ë°í
const testDate = new Date(1590757517834);
// "Date Fri May 29 2020 14:05:17 GMT+0100 (British Summer Time)"
testDate[Symbol.toPrimitive]("string");
// Returns "Date Fri May 29 2020 14:05:17 GMT+0100 (British Summer Time)"
testDate[Symbol.toPrimitive]("number");
// Returns "1590757517834"
testDate[Symbol.toPrimitive]("default");
// Returns "Date Fri May 29 2020 14:05:17 GMT+0100 (British Summer Time)"
ëª ì¸ì
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-date.prototype-%symbol.toprimitive%> |