常见的运用
&&、||判定符大家都很熟悉了,如:
console.log( 1>2 && 2>3 ) //true
console.log( 1>2 || 2<3 ) //true
那么如果这样呢:
console.log( 1 && 2 ) //2
console.log( 2 || 3 ) //2
为什么会这样呢,那就要说到短路规则了:
1.首先是将值转化为布尔值进行判断。
2.&&运算符会返回最后一个运算为true的结果,所以console.log( 1 && 2 ) //2
3.||运算符会返回第一个为true的结果,所以console.log( 2 || 3 ) //2
好,到这里我们就可以尝试提升一下自己的代码质量了。
巧妙运用
当你要给一个值进行默认值判定时:
//if判断
let nums = obj.a
if(!obj.a){
nums = 'default'
}
//三元运算
nums = obj.a ? obj.a : 'default'
//短路规则
nums = obj.a || 'default'
当你要执行一个你不确定存不存在的方法时:
//if运用
if(obj.fn)fn()
//短路规则
obj.fn && obj.fn()
结语:综上所述,巧妙运用短路规则可以提高自己的代码质量,并且很多框架库都有这样写比如vue等,希望有帮助到小伙伴们!