首先思考一个问题 ,下面会输出什么?
console.log(2 || 4)
consloe.log(2 && 4)
运行流程:1、进行布尔判定 2、返回结果为:能判定结果的最后一个数据。
&& 两侧都是真,才为真 如果第一项判定为假,不会判定第二项
|| 有一个为真 就是真 如果第一项为真 ,不会判定第二项
undefined null false 0 "" NaN 为false 其余的为true
console.log(2 || 4) 返回 2
consloe.log(2 && 4) 返回 4
应用:如果obj.a有值 返回它的值,没有值 给一个默认值 'name
let obj={a:'',fun(){}}
可以使用if判断:
if(!obj.a) return obj.a = 'name'
可以使用三目运算符:
obj.a ? obj.a :'name'
使用 ||:
obj.a || 'name' //真的是代码简介了好多。
同时还可以调用函数:
obj.a && obj.fun //obj.a有值的时候,调用里面的fun
//有值不调用。