众所周知,在es6中,逻辑运算符&&代表与条件,||代表或条件
let info = {
name:"long",
age:null
};
//&&
//info的name与age同时为真,则结果为真
if(info.name && info.age){
console.log("与条件"); //与条件
}else{
console.log("失败");
}
//||
//info的name或age,只要有一个为真,则结果为真
if(info.name || info.age){
console.log("或条件"); //或条件
}else{
console.log("失败");
}
代替if/else
但是,他们还可以代表if/else进行简化
let info = {
name:"long"};
let name = info && info.name; //long
let isVip = false;
let vipPrice = isVip || 19;//19
decide() && true();
//如果decide()执行后为true,则执行true(),并输出true()的值;如果decide()执行后为false,则输出decide()执行后的结果,且不执行true()
//预计使用场景,有一个mongo查询条件where,当name存在时,匹配name数据
where= {
age:19};
name && where.name = name;
decide() || false();
//如果decide()执行后为true,则执行decide(),并输出decide()的值,fasle()不执行;如果decide()执行后为false,则执行fasle(),且输出false()的结果
decide() && true() || fasle();
//如果decide()执行后为true,则执行true(),并输出true()的值;
//如果decide()执行后为false,则执行false(),并输出false()的值