相等操作符--全等和不全等

357 阅读2分钟

除了在比较之前不转换操作数之外,全等和不全等操作符与相等和不相等操作符没有什么区别。

全等操作符由 3 个等于号(===)表示,它只在两个操作数未经转换就相等的情况下返回 true,如下面的 例子所示:

let result1 = ("23" == 23); //true,因为转换后相等

let result2 = ("23" === 23); //false,因为不同的数据类型不相等

在这个例子中,第一个比较使用的是相等操作符比较字符串"23"和数值 23,结果返回了 true。如 前所述,这是因为字符串"23"先被转换成了数值 23,然后再与另一个数值 23 进行比较。第二个比较使用了全等操作符以不转换数值的方式比较同样的字符串和值。在不转换的情况下,字符串当然不等于数 值,因此结果就是 false。

不全等操作符由一个叹号后跟两个等于号(!==)表示,它在两个操作数未经转换就不相等的情况 下返回 true。例如:

let result1 = ("23" != 23); //false,因为转换后相等

let result2 = ("23" !== 23); //true,因为不同的数据类型不相等

在这个例子中,第一个比较使用了不相等操作符,而该操作符会将字符串"23"转换成 23,结果就 与第二个操作数(也是 23)相等了。而由于这两个操作数被认为相等,因此就返回了 false。第二个 比较使用了不全等操作符,字符串 55 与数值 55 不相同吗?那么答案一定是:是的 (true)。 要注意的是:null == undefined 会返回 true,因为它们是类似的值;但 null === undefined 会返回 false,因为它们是不同类型的值。