Não consegui compreender muito bem a diferença entre os dois operadores. Alguém pode me explicar melhor quando usar cada um?
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!
Não consegui compreender muito bem a diferença entre os dois operadores. Alguém pode me explicar melhor quando usar cada um?
Os operadores || e && são operadores de comparação, Ou seja, eles servem para testar se duas ou mais expressões são verdadeiras ou não.
O operador ||, conhecido como "OR" (ou), retorna verdadeiro se pelo menos UMA das expressões fornecidas for verdadeira.
Exemplo:
if (true || false) {
alert('Está linha será executada!');
}
No caso acima, a instrução alert será executada porque pelo menos uma das expressões é verdadeira (aquela à esquerda do operador).
Por outro lado, o operador &&, também conhecido como "AND" (e), testa se as DUAS (ou mais) expressões comparadas são veridadeiras.
Exemplo:
if (true && false) {
alert('Está linha não será executada!');
}
if (true && true) {
alert('Está linha será executada!');
}
No primeiro exemplo, a instrução alert não será executada, já que uma das expressões comparadas é falsa.
Mais alguns exemplos:
if (1 > 0 && 2 === 2) {
alert('Está linha será executada!');
}
if (1 > 0 || 2 >= 0) {
alert('Está linha será executada!');
}
let teste = 'falso';
let teste_dois = 'verdadeirio';
if (teste === 'falso' && teste === teste_dois) {
alert('Está linha não será executada!');
}