Javascript短路表达式 - ParadiseGuo/JavascriptLearning GitHub Wiki
短路表达式:
1. 逻辑与 && 的运算方式 如果逻辑与(&&)运算符左边的值在布尔转换后为true,那么返回右边的值(不管右边是真还是假)
var a = 1 && 2;
console.log(a); // 2
如果逻辑与运算符(&&)左边的值在布尔转换后为false,那么返回左边的值。0,“”,null,false,undefined,NaN都会判断为false。其中若左边为null/NaN/undefined的话,结果也会得到null/NaN/undefined。
var a = false && 2;
console.log(a); // false
2. 逻辑或||运算方式 如果逻辑或运算符左边的值在布尔转换后为false,那么返回右边的值(不管右边的值是真是假)。 如果逻辑或运算符左边的值布尔转换后为true,那么返回左边的值,如果两个操作数都是null/NaN/undefined,返回null/NaN/undefined。
var a = false || 2;
console.log(a); // 2
var b = true || 2;
console.log(b); // true