前端杂谈 · Web

&& 运算符具体做了什么?

•̀.̫•́✧ · 1月8日 · 2020年本文529字 · 阅读2分钟203

&& 或 逻辑和 运算符在其操作数中找到第一个虚值表达式时就返回它,如果并未找到任何虚值表达式时就返回最后一个表达式。它使用短路策略来避免不必要的工作。我就曾在我的一个项目中,当关闭数据库连接时,在 catch 块中使用了该功能

   console.log(false && 1 && []); // false
   console.log(" " && true && 5); // 5

使用 if 语句。

  const router: Router = Router();

  router.get('/endpoint', (req: Request, res: Response) => {
     let conMobile: PoolConnection;
     try {
        // 执行一些数据库操作
     } catch (e) {
     if (conMobile) {
      conMobile.release();
     }
  }
});

使用 && 操作符。

const router: Router = Router();

router.get('/endpoint', (req: Request, res: Response) => {
  let conMobile: PoolConnection;
  try {
     // 执行一些数据库操作
  } catch (e) {
    conMobile && conMobile.release()
  }
});
0 条回应