此文不做过多解释,直接 参考,只是看到MDN上总结的两幅矩阵图,对比简单明了,因此搬运了过来;
== 比较
步骤:
- == 两边先转换为相同类型,一边还是两边 与值的原始类型有关系;
1.对转换后的相同类型,进行对比,等同于
===;
转换发现
- undefined 和 null 属于特殊值,只有与自身比较结果才是 true;
- 一侧只要有 undefined 或 null,那么结果是 false;
- 单侧是数字时,另一侧会被隐式转化为数字,另一侧应该是(string,bool);
- string与bool 都会被隐式转化为数字;
我没有总结Object的隐式转换,但发现隐式转都是超向
数字方向转换;
理解相等比较的模型
判断等号方式有三种
- ==
- ===
- Object.is(value1,value2);
差异在于,边界特殊值的结果;