等号和非等号的类似运算符是全等号和非全等号。这两个运算符的作用与等号和非等号相同,只是它们在检查相等性之前不执行类型转换。接下来,我们将通过本文介绍JS中的同余与不完全、相等与不相等。让我们看一看。
目录
同余和不完全同余不等相等和不等不等不等
全等和不全等
同余和非同余比较符号两边的操作数。以同余运算符为例,如果操作数满足同余,则返回true,否则返回false。全等运算符和非全等运算符在相等时不转换操作数,也就是说,它们直接比较全等或非全等运算符,而不进行转换。
全等符号:===
设str1=1
设str2=1
console . log(str 1===str 2)//false
不全等符号:==
设str1=1
设str2=1
console.log(str1!==str2)//true
相等和不相等
相等和不相等运算符也比较两个操作数。以等号运算符为例,如果两个操作数相等,则返回true,否则返回false。但与全等运算符和非全等运算符不同:全等运算符和不等运算符会先对操作数进行强制类型转换,然后对转换后的操作数进行比较。
相等符号:==
设str1=1
设str2=1
console.log(str1==str2)//true
console . log(str 1===str 2)//false
让flag=true
设num=1
console.log(flag==num)//true
console.log(flag===num)//false
不相等符号:=
设str1=1
设str2=1
让str3=hello
console.log(str1!=str 2)//先false,类型转换,再比较。
console.log(str1!==str2) //true如果同余运算的两个操作数不进行强制类型转换,自然不全等。
console.log(str2!=str3)//true
console.log(str2!==str3) //true
相等和不等运算符的操作数强制类型转换规则如下:
布尔值将直接转换为数值进行比较:false:0;真:1
当字符串遇到数值时,它将被转换为数值,然后进行比较。
对于对象,如果两个操作数都是对象,则比较它们是否是同一个对象。如果两个操作数指向同一个对象,则返回true否则,它返回false。如果其中一个操作数是对象,将调用valueOf方法获取原始值,然后进行比较(根据上面的规则)。
Const p=newobject(张山)//等效于const p=newstring(张山)
console.log(p.valueOf()==张三)//true
console.log(p==张三)//true
const p1={name:张三 }
设p2=p1
console.log(p1==p2)//true
p2={}
console.log(p1==p2)//false
对于null和undefined来说,null和undefined是相等的,但是不管和谁比,都不会被强制。
console . log(null==undefined)//true
console . log(null==undefined)//false同余返回的结果仍为false。
对于南来说,南不等于包括他自己在内的任何价值。当运算符为NaN时,只要相等就返回false,不相等就返回true。
console.log(NaN==NaN)//false
console.log(NaN!= )//真
console.log(NaN!=1)//真
console.log(NaN!={})//true
关于js中的同余与非同余、相等与不相等的这篇文章到此为止。关于JS中同余和非同余、等式和不等式的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!