在JS函数 (opens new window)中我们经常会使用到短路运算符,主要是逻辑与(&&) 和 逻辑或(||)
# 逻辑与 && 的运算方式
var a = 5 && 6;
console.log(a); //返回的结果为 6
1
2
2
如果逻辑与运算符左边的值布尔转换后为true,那么返回右边的值(不管右边的值是真还是假)。
var a = false && 6;
console.log(a); //返回的结果为 false
1
2
2
如果逻辑与运算符左边的值布尔转换后为false,那么返回左边的值,但是当逻辑与的左边为 null/NaN/undefined ,结果就会得到null/NaN/undefined。
# 逻辑或 || 的运算方式
var a = false || 6;
console.log(a); //返回的结果为 6
1
2
2
如果逻辑或运算符左边的值布尔转换后为false,那么返回右边的值(不管右边的值是真还是假)。
var a = true || 6;
console.log(a); //返回的结果为 true
1
2
2
如果逻辑或运算符左边的值布尔转换后为true,那么返回左边的值,如果两个操作数都是是null(NaN/undefined),返回null(NaN/undefined)