谈一谈 === 和 == 的区别

前言:

       在项目中老是使用 == ,但是很多情况下又使用的是 === 感觉缺少一个说服自己完全使用某一种的理由,所以来整理一份对比来增进理解;

整理结论:

==   值相等   代表相等,两边值类型不同的时候,要先进行类型转换,在比较
===  类型和值都要相等    代表严格相等;严格等的特点是 :数值和类型都一样,用来进行严格的比较判断

此外:   

    1、对于string,number等基础类型,===== 是有区别的
                不同类型间比较,== 之比较“转化成同一类型后的值”看“值”是否相等,=== 如果类型不同,其结果就是不等
                同类型比较,直接进行“值”比较,两者结果一样

    2、对于Array,Object等高级类型,== ===是没有区别的

    3、基础类型与高级类型, == ===是有区别的
            对于 ==,将高级转化为基础类型,进行“值”比较,因为类型不同, === 结果为false

发布了9 篇原创文章 · 获赞 7 · 访问量 452

猜你喜欢

转载自blog.csdn.net/weixin_44727080/article/details/104564179