Object.is() 与比较操作符"==="、"=="的区别

40 阅读1分钟

相同点

  • 都是对两个数据进行比较,做相等判断

不同点

  • 双等号 ==进行相等判断时,如果两边的数据类型不一致,则会进行强制类型转化后再进行比较
  • 三等号===进行相等判断时,如果两边的数据类型不一致,不会进行强制数据类型转换,直接返回false
  • 使用Object.is来进行相等判断时,一般情况下和三等号的判断相同,但是对一些特殊情况进行了处理,比如-0和+0不再相等,而两个NaN是相等的(NaN==NaN、NaN === NaN 均返回false)

---------------------------------------------------------------------------------------2024.4.25 每日一题