科普等于号

总所周知

  1. 一个等于一般用于赋值
  2. 双等于和三个等于用于比较,
  • 双等于一般比较内容,在== 时会先进行类型转换,再进行比较
  • 三等于不仅比较内容还比较类型,在比较时一般类型比较完如果不一样就直接pass了
    先看两个小案例来简单演示一下
    一个等于
    哦豁,好玩的等于号
    两个等于
    哦豁,好玩的等于号
    这里先把[]强转为了数据类型,变成了0,然后在和0比较,为true
    三个等于号
    哦豁,好玩的等于号
    这里我们可以看到在类型不一样就直接false了

烧脑小案例

比较可爱的null

想一下null和一些简单的比较,先上我们常常觉着可以的双等于
哦豁,好玩的等于号

嗯哼,好像不可以,为什么呢?我也不知道,不知道的时候可以试试,那么是不是null和所有的相比都是false呢
答案是no
看看这个:
哦豁,好玩的等于号

结果为true,但是我们可以发现其实很多例子都是false所以在日常使用中后台试试就好,实验得真理!!!
接下来是三等于,其实和上面差不多;我们演示一下上面相同的代码
哦豁,好玩的等于号
这里我们发现null=Object.prototype.proto,null=null结果为true

那么把null反过来呢?

废话不多说看图;
哦豁,好玩的等于号
看到这里我们就需要注意一些特殊情况了,在判断时要尽量减少书写会报错的情况;

其他的小案例

哦豁,好玩的等于号
这里就要涉及强转的知识:
这里强行安利一小部分常用双等于比较的强转小知识

  1. 仅一个运算数是数字,将另外一个转换成数值,在比较它们的数值
  2. 字符串间的比较,比较两个万国码
  3. 字符串与非数值之间的比较,将非数值转换成字符串比较
  4. 布尔转换为数字类型在比较
  5. 引用类型一般比较地址,在比较内容
    画个重点
    对于NaN目前和什么比较都是false

相关文章:

  • 2022-01-16
  • 2021-09-02
  • 2021-12-25
  • 2021-09-24
  • 2022-12-23
  • 2022-12-23
  • 2021-09-21
  • 2021-10-18
猜你喜欢
  • 2021-04-18
  • 2021-12-26
  • 2021-08-31
  • 2021-10-18
  • 2021-06-03
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案