就是我们逻辑运算符用于简化判断的一种技巧
    规则就是: 取决于谁,就得到谁

    1. console.log(2 || 3); // 2
    2. console.log(0 || 3); // 3
    3. 如果左边是true,得到左边,如果左边是false,得到右边
    4. console.log( 2 && 3); // 3
    5. console.log(0 && 3); // 0
    6. 如果左边是true,得到右边,如果左边是false,得到左边

    通常我们可以使用它们进行代码的简化

    1. function getSum(a, b, c, d) {
    2. // 解决形参个数多于实参的问题 —— 参数的默认值
    3. // if(c === undefined){
    4. // c = 0;
    5. // }
    6. // if(d === undefined){
    7. // d = 0;
    8. // }
    9. c = c || 0;
    10. d = d || 0;
    11. return a + b + c + d;
    12. }
    1. function fn(a,f){
    2. // 如果函数没有传递进来我们想要调用就会报错
    3. // 判断有没有传递进来,如果传递了,我们才调用
    4. // if(f !== undefined){
    5. // f();
    6. // }
    7. f && f();
    8. }
    9. console.log(0||321);//123 因为0表示false,false||??,最终结果是靠??来决定,所有直接输出??
    10. console.log(0||321 && 421);//321表示true,true && ?? ,最终结果是靠??来决定,所有直接输出??
    11. console.log(1||321);//1 1表示true,true||??因为不管??是什么,前面的1已经表达了结果
    12. console.log(1 || 321 && false && 456 && 0 || 12);//1 1表示true,true||??因为不管??是什么,前面的1已经表达了结果
    13. console.log(1 && 321 && false && 456 && 0);//false