null和undefined互相相等,且与自身相等;除此之外其他类型值都不存在这种情况

null与undefined在与其他数相等运算时不进行类型转换,
也就是null和undefined单独和别的比较都为false,但是null和undefined比较就为true,因为undefined就是null衍生出来的一个对象

关于==的比较规则大体有一下几点:

1、操作数为数字与字符串时,将字符串转换为数字,再比较值

2、操作数为布尔和非布尔时,现将布尔转换为数字,再比较值

3、普通类型(布尔/字符串/数字)和对象类型(数组、对象等)比较时,现将对象类型进行toString()的转换,如果操作数有布尔类型,则现将布尔类型转换为数字,然后在进行对象的转换,再比较值

4、null和undefined,关于它们更多的是记住规则:(1)null == undefined (2)null与undefined不能进行类型转换(换句话说不能进行类型转换,那么怎么能进行同其他类型的比较呢?那自然就是false了)

5、Nan == Nan //false

undefined值是派生自null值的,因此规定对它们的相等性测试要返回true;但null ===

undefined会返回false,因为它们是不同类型的值。

在比较相等性之前,不能将null 和undefined转换成其他任何值。


__EOF__

本文作者龙陌
本文链接https://www.cnblogs.com/longmo666/p/17823869.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   龙陌  阅读(96)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示