valueOf()方法如何在JavaScript中的日期对象上工作?
给定日期:valueOf()方法如何在JavaScript中的日期对象上工作?,javascript,typescript,date,Javascript,Typescript,Date,给定日期: const date = new Date(); console.log(date.valueOf()); // print numeric value : 1587644687189 任何文档都提到,valueOf()是JavaScript中的内置函数,用于获取1970年1月1日00:00:00 UTC和给定日期之间的毫秒数 如何在日期对象上实现此功能?日期实例始终基于时间戳值,即从固定时间点开始测量毫秒的数字。.valueOf()函数只返回该数字。函数不必计算毫秒数;它总是将其
const date = new Date();
console.log(date.valueOf()); // print numeric value : 1587644687189
任何文档都提到,valueOf()
是JavaScript中的内置函数,用于获取1970年1月1日00:00:00 UTC和给定日期之间的毫秒数
如何在日期对象上实现此功能?日期实例始终基于时间戳值,即从固定时间点开始测量毫秒的数字。.valueOf()函数只返回该数字。函数不必计算毫秒数;它总是将其视为有效的私有内部财产 调用各种mutator函数,如
.setMonth()
等,将更新该时间戳值。这个过程是有趣的工作完成的地方,比如考虑夏令时和日历数学的其他复杂性
任何对象都可以具有.valueOf()
:
它也可以放置在原型上,就像日期对象一样。日期实例始终基于时间戳值,该值从固定时间点开始测量毫秒。.valueOf()函数只返回该数字。函数不必计算毫秒数;它总是将其视为有效的私有内部财产 调用各种mutator函数,如
.setMonth()
等,将更新该时间戳值。这个过程是有趣的工作完成的地方,比如考虑夏令时和日历数学的其他复杂性
任何对象都可以具有.valueOf()
:
它也可以放在原型上,就像日期对象一样。你是什么意思?是否希望在给定引擎中实现此方法的本机实现?或者你想要什么实现?“这个函数是如何在日期对象上实现的?”看看V8源代码。或者SpiderMonkey源代码。他们可以按照自己认为合适的方式自由实施。ECMAScript标准只说明应该从函数返回什么。如果您得到这个问题的可接受答案,您将如何处理这些信息?换句话说,知道答案对你有什么帮助?(当然,如果你只是好奇也没关系。)@VLAZ,你明白了。我正在寻找date对象方法的本机实现
date.valueOf()
只返回日期,这是它仅有的日期。这是什么意思?是否希望在给定引擎中实现此方法的本机实现?或者你想要什么实现?“这个函数是如何在日期对象上实现的?”看看V8源代码。或者SpiderMonkey源代码。他们可以按照自己认为合适的方式自由实施。ECMAScript标准只说明应该从函数返回什么。如果您得到这个问题的可接受答案,您将如何处理这些信息?换句话说,知道答案对你有什么帮助?(当然,如果你只是好奇也没关系。)@VLAZ,你明白了。我正在寻找date对象方法的本机实现date.valueOf()
只返回日期,这是它唯一的属性。
console.log(5 + { valueOf: () => 6 }); // 11