Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
2
respostas

& ou &&?

O professor mostrou o 'e' lógico como &&. Mas o código a seguir funciona. Por que? É errado usar & ao invés de && ou existem situações onde isso é útil?

if(11 & 12){
    console.log("Deu certo");
}
2 respostas

Oi Sabrina, eu nunca vi utilizar o & único em JavaScript. Esse if está testando que condição? Não consegui compreender.

solução!

Olá Sabrina, nesse caso, você não está usando uma expressão booleana no if, ou seja, não está dando a ele uma condição, então ele acabou passando direto e imprimiu a frase.

O & em javascript é um tipo de AND, mas do operador bit-a-bit. Ele compara dois números binários e retorna 1 em cada posição de bit para à qual o bit correspondente de ambos sejam 1s. Exemplo:

  100111
& 110010
  ------
  100010

Para o AND lógico o correto é && mesmo. Espero ter ajudado :)