JS中等号的相关解释
在就是中有三种等号的使用包括 ‘=’,‘==’,‘===’
通过学习我总结一下三个等于的使用方法
- ‘=’
就是简单的赋值语句 - ‘===’
因为‘==’会涉及到和‘===’相应的东西所以先讲解‘===’。
对于‘===’来说就是判断等式的两端是否相等分为几种情况
(1) 如果两者类型不同,那么直接得到false
(2) 类型相同且为数值类型,那么当值相同,得到true,反之得到false,(注,如果其中进行判断的值为NaN那么得到的值也是false,因为只能使用isNaN()来进行判断NaN)
(3) 类型相同且为字符串类型,那么需要字符串中的所有字符都相同且排序一致,则得到true,反之false
(4)类型相同且为bool类型,直接根据值判断
(5)同为一个类型或函数的引用,得到true,反之false
(6)同为null或同为undefined ,得到true,反之false - ’==‘
(1)当类型相同时,直接进行’===‘的相关等式判断
(2)类型不同时需要进行以下相应判断:
a. 如果等式两端分别为null和undefined,那么得到true
b. 如果等式两端为字符串和数值那么将字符串转为数值再进行比较
c. 对于bool型会将其转换为1,和0再进行比较
d. 如果等式两端为对象和其他类型比较那么将对象转为对应的其他类型之后再进行比较(使用其自带的toString/valueOf)
e. 其他的等式在’==‘中均得到false
举例
- ’=‘
//赋值语句
let a = 10; - ’==‘
//等于
let a = 3;
let b = "3";
a==b 得到 true - ’===‘
//严格等于
同’==‘中
a===b 得到false