1,JS中的&&和||,当出现在条件判断语句中时,例如if,会遵守C语系规则。
2,JS中的&&和||,当初现在赋值语句中时,例如变量赋值、return结果等,会遵循以下规则:
表达式a && 表达式b : 计算表达式a(也可以是函数)的运算结果,
如果为 True, 执行表达式b(或函数),并返回b的结果;
如果为 False,返回a的结果;
表达式a || 表达式b : 计算表达式a(也可以是函数)的运算结果,
如果为 Fasle, 执行表达式b(或函数),并返回b的结果;
如果为 True,返回a的结果;
let a;
a = 1 && 0; // 1
let b;
b = 0 && 1; // 0
let c;
c = 1 && 1 && 'kk'; // kk
let d;
d = 1 || 0;// 1
let e;
e = 0 || 1;// 1
let f;
f = 1 || 2 || 'kk'// 1