js中相等与不等

Posted kanaliya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中相等与不等相关的知识,希望对你有一定的参考价值。

1.相等

1.一致/严格相等 (===)

全等操作符比较两个值是否相等,两个被比较的值在比较前都不进行隐式转换。如果两个被比较的值具有不同的类型,这两个值是不全等的。否则,如果两个被比较的值类型相同,值也相同,并且都不是 number 类型时,两个值全等。最后,如果两个值都是 number 类型,当两个都不是 NaN,并且数值相同,或是两个值分别为 +0 和 -0 时,两个值被认为是全等的。
当两个操作数都是对象时,javascript会比较其内部引用,当且仅当他们的引用指向内存中的相同对象(区域)时才相等,即他们在栈内存中的引用地址相同。

2.相等(==)

相等操作符比较两个值是否相等,在比较前将两个被比较的值转换为相同类型。在转换后(等式的一边或两边都可能被转换),最终的比较方式等同于全等操作符 === 的比较方式。 相等操作符满足交换律。
相等操作符对于不同类型的值,进行的比较如下图所示:

注意字符串类型与布尔型变量比较时,会同时转换为number类型进行比较

2.不等

1.不相等 (!=)

不等操作符仅当操作数不相等时返回true,如果两操作数不是同一类型,JavaScript会尝试将其转为一个合适的类型,然后进行比较。如果两操作数为对象类型,JavaScript会比较其内部引用地址,仅当他们在内存中引用不同对象时不相等。

2.不一致/严格不相等 (!==)

不一致运算符当操作数不相等或不同类型时返回true

以上是关于js中相等与不等的主要内容,如果未能解决你的问题,请参考以下文章

Javascript 中的相等与不等

js ==与===区别(两个等号与三个等号)

两个一维数组如何判断是相等的?

js判断字符串是不是相等

js中两个等号(==)和三个等号(===)的区别

如何组合长度不等的列并使它们在postgreSQL中相等