与(&&)
- 运算符将会返回第一个false/‘falsy’的值。当所有的操作数都是true时,将返回最后一个表达式的结果。
举个🌰
let one = 1, two = 2, three = 3;
console.log(one && two && three); // Result: 3
console.log(0 && null); // Result: 0
或(||)
- 运算符将返回第一个true/‘truthy’的值。当所有的操作数都是false时,将返回最后一个表达式的结果。
举个🌰
let one = 1, two = 2, three = 3;
console.log(one || two || three); // Result: 1
console.log(0 || null); // Result: null
function fn1(name,sex){
// 这句话用到了短路原理
var sex = sex || "男”; // 男
console.log(name+"的性别是"+sex);
}
fn1("lily”);
return (foo || []).length;
// 返回一个数组的长度
if(!name) {
initName()
}
<=>
name || initName()
// 假设后端返回的用户数据为 data
const data = {
name: 'xiaoer',
age: 18,
company: null
}
if (data.company && data.company.name) {
initCompany();
}
<=>
data.company && data.company.name && initCompany();