javascript中 等于和全等有什么区别

JavaScript027

javascript中 等于和全等有什么区别,第1张

全等“===”是等于“==”的加强型等于(==)要求值相等就可以返回true,例如 55=="55" 可以是正确的,返回true全等于(===)要求值和类型都相同返回true,例如 55==="55" 就不正确,返回false

1、用法

都是用来比较值的。

2、比较过程

!= 比较时,若类型不同,会偿试转换类型;

!== 只有相同类型才会比较。

3、比较结果

!=返回同类型值比较结果 ;

!== 不同类型不比较,且无结果,同类型才比较;

4、举例

var num = 1   var str = '1'   var test = 1

test !== num    //false test与num类型相同,其值也相同,非运算肯定是false。

num != str    //false == 的非运算。

num !== str    //true  num 与 str类型不同 意味着其两者不等,非运算自然是true啦。

扩展资料:

== 和 != 比较若类型不同,先偿试转换类型,再作值比较,最后返回值比较结果 。

而=== 和 !== 只有在相同类型下,才会比较其值。

== equality 等同,=== identity 恒等。

==, 两边值类型不同的时候,要先进行类型转换,再比较。

===,不做类型转换,类型不同的一定不等。

“=”:这个表示赋值,不是表示运算符

“==”:表示等于(值)

“===”:表示全等于(类型和值)

一、两者的区别

相等:先强制转换变量类型,再比较

全等:不转换类型,一旦类型不同,就是不全等。

二、相等和不相等的比较规则

1.操作符中有布尔值时:比较前先将之转换为数值

false =>0 , true =>1

2.字符串,另一个是数值:字符串去将就数值

3.对象:object.valueOf()方法,用得到的基本类型值按照前面的规则进行比较

4.操作符

4.1 none == undefined:相等

4.2 NaN ==其他(不管是别人还是自己):false(不等号操作,反之)

4.3 对象 == 对象 :指向同一个对象时才true

出于严谨考虑,推荐‘===’操作符