gpt4 book ai didi

javascript - 为什么我可以直接减去两个 Date 对象?

转载 作者:搜寻专家 更新时间:2023-11-01 04:43:33 24 4
gpt4 key购买 nike

我一直在想。显然,如果我这样做

const a = new Date();

, a 将保存对 Date 实例的引用。它有方法等。那么,为什么我可以在两个日期之间使用简单的 - 运算符来减去两个日期?

const a = new Date();
const b = new Date();
console.log(a - b);

我这里不是减去两个对象吗? Date 是否以某种方式“扩展”Number?而且,我能否为自己定义这些运算符对我自己的类的作用,类似于 C# 对运算符重载的处理方式?

最佳答案

是因为valueOf .

它不仅适用于 Date 对象。您也可以在对象中使用 valueOf

const a = {}
a.valueOf = () => 100
console.log(a + 1) // 101

关于javascript - 为什么我可以直接减去两个 Date 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50656814/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com