原本是想简单写一下==和===之间的区别,后来看了下mdn发现了一些额外的相关知识,于是一并记录了下来
直接看MDN:JS中的相等性判断
JavaScript提供三种不同的值比较操作:
- 严格相等 ("triple equals" 或 "identity"),使用 === ,
- 宽松相等/抽象相等 ("double equals") ,使用 ==
- 以及
Object.is
(ECMAScript 2015/ ES6 新特性)
其区别在于,在用于判断两值是否相等时,若两值为数据类型不同,==会先转换数据类型再比较值,===不会进行类型转换(所以对于类型