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

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

时间:2023-11-10 13:11:22浏览次数:32  
标签:类型转换 相等 false undefined null 布尔

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转换成其他任何值。

标签:类型转换,相等,false,undefined,null,布尔
From: https://www.cnblogs.com/longmo666/p/17823869.html

相关文章

  • mysql 找空数据 必须 is null
      ......
  • TypeError: Cannot read properties of null (reading 'level')
    一、分析问题1、一个下拉框组件的更新由另一个下拉框组件控制被动更新列表,子级下拉框的值是由父级下拉框的值调用接口获取,每次父级下拉框值的改变都会改变子级下拉框的数据源也就是会改变子级下拉框的options,切换后之前的父级节点找不到就会报了这个错,父级节点不改变(即不切换)的......
  • Uncaught TypeError: Cannot read property ‘addEventListener‘ of null 求助!!!!!!
    今天在项目中遇到个问题如下:vue项目中public的index.html文件script标签引入了一个外部的js文件,里面有一个方法每次调用的时候都会报错UncaughtTypeError:Cannotreadproperty‘addEventListener‘ofnull,网上查的所有办法都试过了:跟标签摆放先后位置,放到onload方法中都没......
  • ECMAScript中有5种原始类型,即undefined、null、number、string、boolean。
    ECMAScript中,变量可以存放两种类型的值,即原始值和引用值。原始值是存储在栈中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。引用值是存储在堆中的对象,也就是说,存储在变量处的值是一个指针,指向存储对象的内存处。ECMAScript中有5种原始类型,即undefined、null、number......
  • 关于Java使用Arrays类的equals()函数比较两个数组是否相等功能的实战
    关键词:文件流问题:二进制流文件丢失解决方法:java.util.Arrays.equals(byte1[],byte2[])分析:Arrays.equals()函数比较的是数组的内容而不是引用。也就是说,只有数组的元素内容相同,并且顺序也相同,才会返回true。      如果数组的元素内容相同但顺序不同,或者数组的引用......
  • 函数如果没有return语句,则默认return undefined
    函数如果没有return语句,则默认returnundefined考点:undefined隐式转换成Number类型值是啥1)Number(undefined)结果是NaN,所以NaN+1=NaN2)Number(null)结果是03)Number('a')结果是NaNNumber('')结果是0Number(true)结果是1Number(false)结果是0Number([])结果是0......
  • undefined reference to `add(int, int)'
    一、概述使用cmake编译C++项目报undefinedreferenceto`add(int,int)'项目中有.cpp文件,有.h文件,有.c文件。也就是c和c++混编。其中.cpp文件引用了.c的头文件现象: 从上面可以看出其实这几个.cpp和.c文件都已经编译过了。但是就会提示找不到.c文件中的......
  • Mysql 唯一联合索引和 NULL允许重复
    我内心一直认为UNIQUEKEY是唯一的只允许出现一个null但是联合索引索引就打破了这个魔咒请看演示为null原因唯一索引的作用是确保组成索引的字段的值是唯一的。users唯一索引是由name、email和lebal字段组成的。users这三个字段的组合在表中已经存......
  • sql 按字段升降序,NULL排最后
     //CASE表达式来对LastAuthTime字段进行逻辑判断,当LastAuthTime为NULL时,赋予它一个比非空值更大的排序权重。这样,查询结果中的NULL值将会显示在最后面。SELECT*FROMTbUserORDERBYCASEWHENLastAuthTimeISNULLTHEN1ELSE0END,LastAuthTimeASC ......
  • mysql,左连接 ,查询右表为null的写法,删除,带join条件的写法
    select*fromsale_guestsgleftjoinsale_billsbonsg.bill_id=sb.idwheresg.gmt_create>'2023-10-20'andsb.bill_noisNULLselect*fromsale_empseleftjoinsale_billsbonse.bill_id=sb.idwherese.gmt_create>'2023-10-20'and......