在JavaScript代码经常看到三个等号和两个等号的使用,下面介绍一下它们两者的区别。
代码实例如下:[JavaScript] 纯文本查看 复制代码运行代码console.log(0=="");
console.log(0==false);
console.log(""==false);
再来看一段代码实例:[JavaScript] 纯文本查看 复制代码运行代码console.log(0==="");
console.log(0===false);
console.log(""===false);
上面你的代码演示了两个运算符的,下面介绍一下它们两者的区别。
三个等号全等运算符:
既然是全等运算符,那么两个运算数必须完全一样才能够相等,具体比较规则如下:
1.如果两个操作是值类型,那么两个操作数必须完全相等才会相等。
2.如果是引用类型,两个操作数必须指向同一个对象才会相等。
两个等号运算符:
这个运算符比较博爱一些,在比较的时候如果两个操作数的类型不同,会进行类型转换,具体规则如下:
1.如果是数据类型相同的值类型,那么比较规则和全等运算符相同。
2.如果两个操作数类型相同,那么它们也是有可能相同的:
(1).如果一个是null、一个是undefined,那么两个是相同的。
(2).如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。
(3).如果任一值是true,把它转换成1再比较,如果任一值是false,把它转换成0再比较。
(4).如果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。对象转换成基础类型,利用它的toString或者valueOf方法。