Date.prototype[@@toPrimitive]

[@@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 AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
@@toPrimitiveChrome Full support 47Edge Full support 15Firefox Full support 44IE No support NoOpera Full support 34Safari Full support 10WebView Android Full support 47Chrome Android Full support 47Firefox Android Full support 44Opera Android Full support 34Safari iOS Full support 10Samsung Internet Android Full support 5.0nodejs Full support 6.0.0

Legend

Full support  
Full support
No support  
No support

See also