📜  JavaScript | date.@@toPrimitive()函数

📅  最后修改于: 2022-05-13 01:58:10.505000             🧑  作者: Mango

JavaScript | date.@@toPrimitive()函数

date.@@toPrimitive()函数是 JavaScript 中的一个内置函数,用于将日期对象转换为原始值。
句法:

Dateobj[Symbol.toPrimitive](hint);

参数:此函数接受单个参数。根据参数,该方法可以返回字符串或数字。
返回值:它返回给定日期对象的原始值。
下面的程序说明了 JavaScript 中的 @@toPrimitive()函数。
程序1:当hint为default时,[@@toPrimitive]()尝试调用toString方法,如果toString方法不存在则尝试调用valueOf方法。
例子:

javascript


javascript


javascript


javascript


输出:

Thu Sep 27 2018 12:49:02 GMT+0530 (India Standard Time)

方案二:当hint为number时,[@@toPrimitive]()尝试调用valueOf方法,如果valueOf方法不存在,则调用toString方法。
例子:

javascript


输出:

1538032776898

程序 3:当 hint 为字符串时,[@@toPrimitive]() 尝试调用 toString 方法,如果 toString 方法不存在则尝试调用 valueOf 方法。
例子:

javascript


输出:

Thu Sep 27 2018 12:50:04 GMT+0530 (India Standard Time)

注意:输出可能会根据当前日期和时间而有所不同。
错误和异常:当提示不是“字符串”、“default”或“number”时,[@@toPrimitive]() 尝试调用 toString 方法,如果 toString 方法不存在,它会尝试调用 valueOf 方法,如果valueOf 方法也不适用,然后 [@@toPrimitive]() 抛出 TypeError。
例子:

javascript


输出:

TypeError: Symbol.toPrimitive: expected "string", "number", or "default", got number