==与===
来源:互联网 发布:服务器端软件开发 编辑:程序博客网 时间:2024/06/04 23:28
一般使用双等来判断(==),如果还需要类型相同那么就用三等(===)。
说一下这两个的区别:
- == equality 等同,=== identity 恒等。
- ==, 两边值类型不同的时候,要先进行类型转换,再比较。
- ===,不做类型转换,类型不同的一定不等。
下面分别说明:
先说 ===,这个比较简单。下面的规则用来判断两个值是否===相等:
1、如果类型不同,就[不相等]
2、如果两个都是数值,并且是同一个值,那么[相等]。
3、如果两个都是字符串,每个位置的字符都一样,那么[相等];否则[不相等]。
4、如果两个值都是true,或者都是false,那么[相等]。
5、如果两个值都引用同一个对象或函数,那么[相等];否则[不相等]。
6、如果两个值都是null,或者都是undefined,那么[相等]。
再说 ==,根据以下规则:
1、如果两个值类型相同,进行 === 比较。
2、如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较:
a、如果一个是null、一个是undefined,那么[相等]。
b、如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。
c、如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。
d、任何其他组合,都[不相等]。
0 0
- MVC <%%>与<%=%>与区别
- =与==
- =与==
- =与==
- =与==赋值与等于
- compareTo与equals与==
- hashcode与==与equals详解
- compareTo与equals与==
- null与“” ==与equals()
- equals ()与 hashcode() 与 == 解析
- == 与 equals()
- equals与==
- equals与"=="
- equals与==
- ==与equals()
- ==与equals()
- equals 与==
- “==”与equals
- ITK4.11.1编译配置+VS2015+Cmake3.8.1
- python wget下载文件处理的一些问题
- FPGA状态机总结
- Buy a Shovel
- Windows Spark开发环境部署
- ==与===
- 比特币开发专题(交易平台基本原理和指南)
- 文件夹复制(拷贝)原理分析
- webpack2
- 反转的串
- malloc free 解析
- 使用MyBatis_Generator生成Dto、Dao、Mapping
- webpack3
- Node.js简介