JavaScript |日期@@toPrimitive()函数

日期@@toPrimitive()函数是JavaScript中的一个内置函数,用于将日期对象转换为基本值。 语法:

null
Dateobj[Symbol.toPrimitive](hint);

参数: 此函数接受单个参数。根据参数的不同,该方法可以返回字符串或数字。 返回值: 它返回给定日期对象的原语值。 下面的程序演示了JavaScript中的@toPrimitive()函数。 项目1: 当提示是 违约 ,[@@toPrimitive]()尝试调用toString方法,如果toString方法不存在,则尝试调用valueOf方法。 例子:

javascript

<script>
// Here a date has been assigned
// while creating Date object
var dateobj = new Date();
// converting the date object to a primitive value
var result = dateobj[Symbol.toPrimitive](" default ")
// Printing year
document.write(result);
</script>


输出:

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

项目2: 当提示是 数字 ,[@@toPrimitive]()尝试调用valueOf方法,如果valueOf方法不存在,则调用toString方法。 例子:

javascript

<script>
// Here a date has been assigned
// while creating Date object
var dateobj = new Date();
// converting the date object to a primitive value
var result = dateobj[Symbol.toPrimitive]("number")
// Printing year
document.write(result);
</script>


输出:

1538032776898

方案3: 当提示是 一串 ,[@@toPrimitive]()尝试调用toString方法,如果toString方法不存在,则尝试调用valueOf方法。 例子:

javascript

<script>
// Here a date has been assigned
// while creating Date object
var dateobj = new Date();
// converting the date object to a primitive value
var result = dateobj[Symbol.toPrimitive]("string")
// Printing year
document.write(result);
</script>


输出:

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

注: 输出可能因当前日期和时间而异。 错误和例外: 当提示不是“字符串”、“默认值”或“数字”时,[@@toPrimitive]()尝试调用toString方法,如果toString方法不存在,它尝试调用valueOf方法,如果valueOf方法也不适用,则[@@toPrimitive]()抛出一个TypeError。 例子:

javascript

<script>
// Here a date has been assigned
// while creating Date object
var dateobj = new Date();
// converting the date object to a primitive value
var result = dateobj[Symbol.toPrimitive](90)
// Printing year
document.write(result);
</script>


输出:

     

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

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞14 分享