vue中!!、!=、==、!==、===判断符号的⽤法等
!可将变量转换成boolean类型,null、undefined和空字符串取反都为false,其余都为true。
可以总结出来,“!”是逻辑与运算,并且可以与任何变量进⾏逻辑与将其转化为布尔值,“!!”则是逻辑与的取反运算,尤其后者在判断类型时代码简洁⾼效,省去了多次判断null、undefined和空字符串的冗余代码。
!!是将表达式强制转化为bool值的运算,运算结果为true或false,表达式是什么值,结果就是对应的bool值,不再取⾮
不是取⾮再取⾮的意思
!!false=false; 要注意false和“false” 的区别
!!"false"=true;
!!true=true;
!!(NaN || undefined || null || 0 || ' ')=false;
!记住我
null=true
!undefined=true
!''=true
!100=false
!'abc'=false
var o={flag:true}; var test=!!o.flag;//等效于var test=o.flag||false; alert(test);
由于对null与undefined⽤!操作符时都会产⽣true的结果,
所以⽤两个感叹号的作⽤就在于,
如果明确设置了o中flag的值(⾮ null/undefined/0""/等值),⾃然test就会取跟o.flag⼀样的值;
如果没有设置,test就会默认为false,⽽不是 null或undefined。
1: == 和 != ⽐较若类型不同,先偿试转换类型,再作值⽐较,最后返回值⽐较结果。
2: === 和 !== 只有在相同类型下,才会⽐较其值。
发布评论