Date.prototype[Symbol.toPrimitive]
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Date
实例的 [Symbol.toPrimitive]()
方法返回表示当前日期的原始值。根据给定提示的不同,其可能是字符串或数字。
尝试一下
语法
js
date[Symbol.toPrimitive](hint)
返回值
给出的 Date
的原始值。根据传入参数的不同,可以返回 string 或 number 类型。
说明
Date
对象的 [Symbol.toPrimitive]()
方法可以返回一个原始值,或是 string,或是 number。
如果 hint
是 "string"
或 "default"
,[Symbol.toPrimitive]()
将会调用 toString
。如果 toString
属性不存在,则调用 valueOf
。如果 valueOf
也不存在,则抛出一个TypeError
。
如果 hint
是 "number"
,[Symbol.toPrimitive]()
会首先尝试 valueOf
,若失败再尝试 toString
。
当期望一个原始值却收到一个对象时,JavaScript 可以自动的调用 [Symbol.toPrimitive]()
方法来将一个对象转化成原始值,所以你很少会需要自己调用这个方法。
规范
Specification |
---|
ECMAScript Language Specification # sec-date.prototype-%symbol.toprimitive% |
浏览器兼容性
BCD tables only load in the browser