js中,当date和number类型使用==进行比较时,调用什么方法?

正常情况下,object和number类型比较,会优先调用valueOf方法,如果返回值不为原始类型,才调用toString方法,如果返回值还不为原始类型,就会报错.

但是我测试了一下date对象,好像不是那么回事.

clipboard.png

我比较了一下 valueOf的返回值,他是false,但是当我改写了 toString和valueOf方法以后,再进行比较就会和其他object类型一样,报错.

所以我想问,在number和date类型比较时,优先调用了什么方法?

阅读 1.8k
1 个回答

date 类型转化为基础类型,优先toString,后valueOf
贴个链接,重点看 NOTE 部分。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题