(1)在表达式中:先找到第一个虚值表达式并返回它,如果没有找到任何虚值表达式,则返回最后一个真值表达式
(2)采用短路来防止不必要的工作
console.log(false && 1 && []); // false
console.log(" " && true && 5); // 5
(3)代码实例
① if 循环语句
const router: Router = Router();
router.get('/endpoint', (req: Request, res: Response) => {
let conMobile: PoolConnection;
try {
//do some db operations
} catch (e) {
if (conMobile) {
conMobile.release();
}
}
});
②使用 && 运算符
const router: Router = Router();
router.get('/endpoint', (req: Request, res: Response) => {
let conMobile: PoolConnection;
try {
//do some db operations
} catch (e) {
conMobile && conMobile.release()
}
});
(1)在表达式中:找到第一个真值表达式并返回它
(2)也采用短路来防止不必要的工作
在支持 ES6 默认函数参数之前,它用于初始化函数中的默认参数值
console.log(null || 1 || undefined); // 1
function logName(name) {
var n = name || "Mark";
console.log(n);
}
logName(); // "Mark"