javascript|js中短路运算符 || &&

见过好多插件都这么用,感觉高大上。。。
|| 与 &&说到底也没啥,稍微懂点程序的,或者是搞过相关硬件编程的都会用到这玩意,就算是数学,中学你可能都用到过。
是不是不信?

&& 和 || 运算符使用短路逻辑(short-circuit logic),是否会执行第二个语句(操作数)取决于第一个操作数的结果。在需要访问某个对象的属性时,使用这个特性可以事先检测该对象是否为空:
var name = o && o.getName();
或运算可以用来设置默认值:
var name = otherName || “default”;
类似地,JavaScript 也有一个用于条件表达式的三元操作符:
var allowed = (age > 18) ? “yes” : “no”;
对于&&,在 (表达式1)&&(表达式2),只有在表达式1表达式2都成立时才为true,那么就有:表达式1为false时表达式,就不用看了肯定有:(表达式1)&&(表达式2)=false;


对于||,在 value= https://www.it610.com/article/(表达式1)||(表达式2),只有在 表达式1表达式2都成立时才为true,那么就有:
表达式1为false时表达式,value=https://www.it610.com/article/表达式2的布尔值,
表达式1为true时表达式,value=https://www.it610.com/article/true,根本就不用看表达式2了

so—-短路大名 诞生 【javascript|js中短路运算符 || &&】
&&:
表达式1 表达式2 结果(value)
false * false
true false false
true true true
||:
表达式1 表达式2 结果(value)
true * true
false false false
false true true


用到js里就变成拿值(对象)了,常见如下:
var name = otherName || “default”;
在 JavaScript 中, true && expression 总是会评估为 expression ,而 false &&
expression 总是执行为 false 。
因此,如果条件为 true ,则 && 后面的元素将显示在输出中。 如果是 false,React 将会忽略并跳过它。 ——-见React官网

    推荐阅读