关于布尔逻辑:在javascript中关于==和===

What about == and === in javascript?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
JavaScript === vs == : Does it matter which"equal" operator I use?
Difference between == and === in JavaScript

我们都知道,您可以使用(value==other_value)(value===other_value)来比较这两个值,其中=====的严格版本。

但真正的区别是什么?就像===有什么更好的地方一样,==给了你什么好处?对于!=!==相同?


比较是类型上的。'1' == 1是真的。但是,'1' === 1是假的。如果你不知道哪种类型的比较会给你带来什么,去学习更多关于编程和你的语言。


请阅读:javascript中的==和==之间的差异


简而言之,==将执行类型转换,===将不执行类型转换。这种转变是广泛的。


javascript具有严格的和类型转换相等比较。为了严格相等,要比较的对象必须具有相同的类型和:

当两个字符串在相应位置具有相同的字符序列、相同的长度和相同的字符时,它们是严格相等的。两个数字在数字上相等时严格相等(具有相同的数值)。NaN不等于任何东西,包括NaN。正零和负零彼此相等。如果两个布尔操作数都为真或都为假,则两个布尔操作数严格相等。如果两个对象引用同一个对象,则它们是严格相等的。空类型和未定义类型是==(但不是==)。[即,空=未定义(但不是空=未定义)]