[@@toPrimitive]() 方法可以转换一个 Date 对象到一个原始值。

用法

Date()[Symbol.toPrimitive](hint);

返回值

给出的 Date 的原始值。根据传入参数的不同,可以返回 string 或 number 类型。

说明

Date 对象的 [@@toPrimitive]() 方法可以返回一个原始值,或是 string,或是number。

如果 hint"string""default"[@@toPrimitive]() 将会调用 toString。如果 toString 属性不存在,则调用 valueOf。如果 valueOf 也不存在,则抛出一个TypeError

如果 hint"number"[@@toPrimitive]() 会首先尝试 valueOf,若失败再尝试 toString

当期望一个原始值却收到一个对象时,JavaScript 可以自动的调用 [@@toPrimitive]() 方法来将一个对象转化成原始值,所以你很少会需要自己调用这个方法。

Specifications

Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
Date.prototype.@@toPrimitive
Standard Initial definition.
ECMAScript Latest Draft (ECMA-262)
Date.prototype.@@toPrimitive
Draft  

Browser compatibility

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
@@toPrimitiveChrome ? Edge Full support 15Firefox Full support 44IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Full support 44Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs Full support 6.0.0

Legend

Full support  
Full support
Compatibility unknown  
Compatibility unknown

See also