[@@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]()
方法来将一个对象转化成原始值,所以你很少会需要自己调用这个方法。
Specification | Status | Comment |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) Date.prototype.@@toPrimitive |
Standard | Initial definition. |
ECMAScript Latest Draft (ECMA-262) Date.prototype.@@toPrimitive |
Draft |
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | Server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@toPrimitive | Chrome ? | Edge Full support 15 | Firefox Full support 44 | IE ? | Opera ? | Safari ? | WebView Android ? | Chrome Android ? | Edge Mobile ? | Firefox Android Full support 44 | Opera Android ? | Safari iOS ? | Samsung Internet Android ? | nodejs Full support 6.0.0 |