热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:JS的双等和三等的区别

篇首语:本文由编程笔记#小编为大家整理,主要介绍了JS的双等和三等的区别相关的知识,希望对你有一定的参考价值。在JS会碰到一个奇怪的运算符===,之前学JAVA和

篇首语:本文由编程笔记#小编为大家整理,主要介绍了JS的双等和三等的区别相关的知识,希望对你有一定的参考价值。


  在JS会碰到一个奇怪的运算符"===",之前学JAVA和C语言,只有"==",JS冒出个"===",挺奇怪的,遂google之...

  在JS中"=="和"==="是都存在的,他们都是判断两端的表达式是否相同,但是有一点不一样。

  因为在JAVA和C这中强类型语言中,每一个变量使用前都得必须先被声明并且指定类型,所以说变量和变量之间的类型是否相等,就不需要开发者去判断了,编译器就可以完成此任务,但是像JS这个弱语言,我可以突然半路冒出个abc变量,而这个变量又不用提前声明,而且可以存放任意类型的的值,这就比较变态了,所以说两个变量进行比较的时候,由于JS的特性,是可以考虑先比较类型,再比较值的,这就是"==="的作用,详情如下:

  "=="就代表会先把两端的变量试图转换成相同类型,然后再比较;"==="就代表会直接去比较类型是否相同,如果类型相同则继续比较值是否相同。


举个例子:
 技术分享

当Integer的1和String的"1",进行==比较的时候,两端的变量会先转换成相同类型,再去进行值得比较,有点JAVA里面的equals的意思;当进行===进行比较的时候,两端的变量会先进行类型之间的比较,
如果类型不相等,直接返回false。

  


再举个例子:

  技术分享

 当比较的两个对象是Object类型的时候,==和===的效果是一样的,因为两个不同对象之间的值是无法直接进行比较的,也是无法相互转换的,So,两个比较全为false.



推荐阅读
author-avatar
史军2927
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有