短路写法
1、&&的短路写法 &&运算时,如果第一个操作数的结果为false,则不会对第二个数进行求值,因为不管第二个数的值为什么,整个表达式的结果都必然是false
let a = false; let b = true; let result = a && b; // 由于 a 为 false,b 不会被求值,result 直接为 false console.log(result);
2、||的短路写法 ||运算时,若第一个操作数的结果为 true,那么就不会对第二个操作数进行求值,因为不管第二个操作数的值是什么,整个表达式的结果都必然是 true
let a = true; let b = false; let result = a || b; // 由于 a 为 true,b 不会被求值,result 直接为 true console.log(result);
3、短路写法的应用场景
避免空指针异常:在访问对象的属性或方法之前,先检查对象是否为 null 或 undefined
let obj = null; let value = obj && obj.property; // 若 obj 为 null,不会尝试访问 obj.property,避免报错
设置默认值:当一个变量可能为 null 或 undefined 时,使用逻辑或运算符为其设置默认值
let name = null; let displayName = name || '默认名称'; // 若 name 为 null,displayName 会被赋值为 '默认名称'
浙公网安备 33010602011771号