1、!(非)和!!的区别
1、!非可以对一个值进行非运算。所谓的非运算就是对一个布尔值进行取反操作:true=>false,false=>true。如果对非布尔值进行非运算,我们需要将他先转换为布尔值,然后在对他进行取反
2、!!则是将其他的数据类型转换为布尔型:即为任意类型的数据连续取反两次,将其转换为布尔值,原理和Boolean()函数一样
//判空1
let test;
if(test!=null&&typeof(test)!='undefined'&&test!=''){
}
//判空2
if(!!test){
}
2、&&(与)
可以对符号两侧的数据进行与运算。当两个数据都为true时,则会返回true;只要有一个为false,则就会返回一个false。js中的"与"运算为短路与,当第一个数据为false时,就不会就看第二个值,当第一个数据为true时,则需要看第二个数据才能知道结果。
3、||(或)
可以对符号两侧的数据进行或运算。当两个数据都为false时,才会返回false;当两个数据中有一个为true时,就会返回一个true。js中的"或"为短路或,即当两个数据中,只要第一个为true,就不会看第二个数;但当第一个为false时,就需要看第二个值,才能知道结果。