1
resposta

Duvida sobre && e ||

Estou com duvida referente a utilização do "&&" e "||" toda hora eu utilizo um ao invés do outro. pode me explicar quando utilizo um e o outro acho que estou com as definições equivocadas.

1 resposta

Huston, esses caras aí são operadores lógicos, tipicamente, utilizados com valores booleanos (True ou False).

O operador && representa uma operação de AND, enquanto o ||, representa uma operação de OR.

  • expr1 && expr2 - AND - Retorna expr1 se essa pode ser convertido para falso; senão, retorna expr2. Dessa forma, quando usado para valores Booleanos, && retorna verdadeiro se ambos os operandos forem verdadeiro ; senão, retorna falso.

  • expr1 || expr2 - OR - Retorna expr1 se essa pode ser convertido para verdadeiro; senão, retorna expr2. Dessa forma, quando usado para valores Booleanos, || retorna verdadeiro se qualquer dos operandos for verdadeiro; se ambos são falso, retorna falso.

Expressões como null, NaN, 0, string vazia ("") e undefined podem ser convertidas para falso. Desse modo é possível realizar operações com elas.

// Operador &&
a1 = true  && true       // t && t retorna true
a2 = true  && false      // t && f retorna false
a3 = false && true       // f && t retorna false
a8 = '' && false         // f && f retorna ''
a9 = false && ''         // f && t retorna false

// Operador ||
o1 = true  || true       // t || t retorna true
o2 = false || true       // f || t retorna true
o3 = true  || false      // t || f retorna true
o8 = ''    || false      // f || f retorna false
o9 = false || ''         // f || f retorna ""

Você pode encontrar mais informações através do link.