使用JS书写判断表达式的时候通常会遇到==和===,它们相差了一个“=”,意义上有什么样的区别呢?
▍区别
==表示等同,===表示恒等。==只比较内容,而===既比较内容也比较数据类型。
▍==
100 == "100" // true
1 == true // true
null == null // true
undefined == undefined // true
null == undefined // true
true == "20" // false
"1" == "01" // false,此处等号两边值得类型相同,不要再转换类型了!!
NaN == NaN // false,NaN和所有值包括自己都不相等。
▍===
100 === "100" // false
1 === true // false
NaN === NaN // false
null === undefined // false
'abc' === "abc" // true
false === false // true
null === null // true
undefined === undefined // true