JS para impacientes

2: O que o operador AND && faz?

February 02, 2020

O operador && ou Logical AND encontra a primeira expressão falsa em seus operandos e a retorna e, se não encontrar nenhuma expressão falsa, retorna a última expressão. 

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

Outra forma de usar é a verificação de curto-circuito, para evitar trabalho desnecessário, ele automaticamente NÃO executa as próximas instruções caso o resultado da primeira seja falso. Exemplo:

Repare no catch, ele fecha a conexão do banco:

Usando 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()
     }
  }
})

Usando o operador && (mais elegante):

const router: Router = Router()

router.get('/endpoint', (req: Request, res: Response) => {
  let conMobile: PoolConnection
  try {
     //do some db operations
  } catch (e) {
    conMobile && conMobile.release()
  }
})

Baseado no excelente artigo: 70 Interview Questions


Está curtindo os conteúdos da Reativa? Quer que a gente te ajude a ser um dev melhor? Clique aqui.