zoukankan      html  css  js  c++  java
  • javascript中“==”,“===”和“Object.is(a,b)”的区别

    作为两个量比较的三种方式“==”,“===”和“Object.is(a,b)”有一定区别,如下(具体见MDN):

    (1)Object.is(a,b)

      Object.is(a,b) 是ECMA标准中的 SameValue的实现,比较运算不会进行强制的类型转换(如==),

      返回true的情况如下(其他情况返回false,即不等):

      

     (2)==

      比较前,会进行两个数值的强制类型转换(字符串和数值类型),转换为相同类型然后比较;

      比较不会区分 +0 和 -0,且认为两个NaN不相等。

      

    (3)===

      该比较不会区分 +0 和 -0,且认为两个NaN不相等。

      

     注:== 和 ===的区别主要是是否会在转换前进行强制类型转换。

  • 相关阅读:
    (转)IDEA ERROR:找不到或无法加载主类
    Piggy-Bank
    Monkey and Banana
    Max Sum Plus Plus
    Doing Homework
    繁繁的游戏
    看试卷
    繁繁的队列
    大整数乘法
    文件操作(c++)
  • 原文地址:https://www.cnblogs.com/zhcBlog/p/10277733.html
Copyright © 2011-2022 走看看