变量 == !'' 和 变量 !== '' 有啥区别
== !""
== !"", 就是判断是不是和<!"">也就是true相等
!== ''
!== '', 判断不等于空字符串
一个是双等于==, 一个是三等于 ===
在js里, 空字符串转成bool值是false的, 所以!'' 是true
==!这里面是两个操作符 == 和 !,不是单独一个操作符。a==!'', 会先把空字符串''转成布尔值并取反,然后再和a进行 == 操作符的比较 (另外 == 是会转换类型的)
!== 是一个操作符(不全等操作符),对应的是 ===
x == !''
,相当于 x == (!'')
,先计算 !''
,得到 true
,然后比较 x == true
;
x !== ''
,判断 x
与 ''
是否类型相同;相同再比较值是相等,也就是判断 x
是不是精确的非空字符串。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
a ==!''
是a == (!'')
!''
是true
,所以a==!''
实际是a==true