如果操作数是一个对象 返回false
如果操作数是一个空字符串 返回true
如果操作数是一个非空字符串 返回false
如果操作数是0 返回true
如果操作数是非0 返回false
如果操作数是null 返回true
如果操作数是NaN 返回true
如果操作数是undefined 返回true

 


 

+

加数 加数 结果
  NaN NaN
Infinity Infinity Infinity
-Infinity -Infinity -Infinity
Infinity -Infinity NaN
+0 +0 +0
-0 -0 -0
+0 -0 +0
字符串 字符串 字符串
字符串 转为字符串 字符串
字符串 对象、数值、布尔.toString() 字符串
字符串 String(undefined、null) 字符串

 

数字 null 数字
数字 undefined NaN
数字 布尔 数字
数字 Symbol() 报错
数字 对象 分情况

 


 

==

如果一个操作数是布尔值 先将其转换为数值
如果一个操作数是字符串,另一个是数字 先将字符串转为数值
如果一个操作数是对象,另一个操作数不是 先调用对象的valueOf()

 

NaN == NaN false
'NaN' == NaN false
NaN == 5 false

 

null == undefined true
null == 0 false
undefined false
posted on 2020-05-16 11:47  依旧那片天  阅读(116)  评论(0编辑  收藏  举报