一、逻辑运算符 &&(短路与)
特点:只要碰到了false或者等价于false的就短路,只要短路了就不会继续往后执行了。如果短路了,得到造成短路的这个值,如果不短路,得到的是第二个值
console.log( true && true ); // true console.log( 123 && '中国'); // 中国 console.log( false && true ); // false console.log( true && false); // false console.log(1 && 0); // 0 console.log( undefined && 0); // undefined console.log(null && 1); // null
二、逻辑运算符 || (短路或)
特点:只要碰到了true或者等价于true的就短路,只要短路了就不会继续往后执行了。如果短路了,得到造成短路的这个值,如果不短路,得到的是第二个值
console.log( true || true ); // true console.log( 123 || '中国'); // 123 console.log( false || true ); // true console.log( true || false); // true console.log(1 || 0); // 1 console.log( undefined || 0); // 0 console.log(null || 1); // 1
需要注意的是:&& 和 || 的结果不一定是布尔类型,短路或一般用于设置函数的默认参数