JS-0204 - JavaScript Completo ES6 - Boolean e Condicionais

JS-0204 - JavaScript Completo ES6 - Boolean e Condicionais
Publicado em 17/12/2020 22h16
Visualizações: 191

Aplicando lógica no JS

Para o tipo de dado Boolean existem dois valores possíveis, true ou false (não utilize estes termos com nome de variáveis pois são palavras reservadas). Ex:

var estudante = true;
var funcionario = false;

Os valores booleanos são utilizados para realizar comparações condicionais. Para realizar operaçõescondicionais em JS é utilizado o if, que verifica a condição passada como parâmetro é true, e o else, caso seja false. Ex:

var estudante = true;

if(estudante) {
    console.log('Está estudando');
} else {
    console.log('Não está estudando');
}
// retorna "Não está estudando" e não executa o else

O else final não é estritamente necessário, mas é uma boa prática para previnir a não validação do parâmetro.

Para realizar uma segunda ou inumeras validações pode ser utilizado o else if. Neste caso, caso o if não seja true, ele testa a condição seguinte. Ex:

var estudante = true;
var funcionario = false;

if(funcionario) {
    console.log('Está empregado');
} else if(estudante) {
    console.log('Está estudando');
} else {
    console.log('Não está empregado e não está estudando');
}
// retorna Está estudando

Há a possibilidade de abreviação do if caso o retorno seja apenas uma linha de código suprimindo a abertura e o fechamento de chaves. Ex:

if(funcionario) console.log('Está empregado');
else if (estudante) console.log('Está estudando');
else console.log('Não está empregado e não está estudando');

//ou

if(funcionario)
    console.log('Está empregado');
else if (estudante)
    console.log('Está estudando');
else
    console.log('Não está empregado e não está estudando');

Poderemos também utilizar o operador ternário em abreviação ao if e else. Nesse caso é passada uma condição e caso o retorno seja verdadeiro, a variável será igual ao valor após o sinal de interrogação, caso seja falso, será o valor após os dois pontos. É possível encadear os operadores ternários. Ex:

var estudante = true;

var ocupacao = (estudante) ? 'Está estudando' : 'Não está estudando';
console.log(ocupacao) // Está estudando

var estudante = true;
var funcionario = false;

var ocupacao = (estudante) ? 'Está estudando' : (funcionario ? 'Está trabalhando' : 'Não está trabalhando e não está estudando');
console.log(ocupacao) // Está trabalhando

Geralmente utilizamos o operador ternário quando precisamos atribuir um valor para uma variável, dependendo de uma condição.

A utilização de else if encadeados não é uma boa prática, e para utilizar a verificação condicional em um conjunto grande de possibilidades há a possibilidade de utilização do switch.
Com o switch você poderá realizar verificações em diferentes condição checando se o valor é verdadeiro. O parâmetro de validação é passado utilizando o case e caso seja validado como true, será executado o que houver no case. Para que após a execução deste case não seja continuada a validação no case seguinte é utilizado o break que encerra a verificação. Assim como o else, no switch é possível deixar uma execução final no caso da invalidação total das condições, utilizando default. Ex:

var minhaProfissao = 'Militar';

switch (minhaProfissao) {
    case 'Professor':
        console.log('Sou Professor.');
        break;
    case 'Médico':
        console.log('Sou Médico.');
        break;
    case 'Padeiro':
        console.log('Sou Padeiro.');
        break;
    default:
        console.log('Nenhuma das opções.');
} // retorna Nenhuma das opções.

Existem valores que retornam true e outros que retornam false quando verificados em uma expressão booleana. Eles são chamados de Truthy e Falsy. Os valores abaixo são falsy:

if(false)
if(0) // ou -0
if(NaN)
if(null)
if(undefined)
if('') // ou "" ou ``

Todos os demais são truthy.

Os operadores lógicos podem ser utilizados em JS.

O operador Lógico de Negação "!" inverte o valor booleno de uma operação. Utilizando duas vezes o operador de negação, !!, é possível verifica se qualquer condição é realmente truthy ou falsy. Ex:

if(!true) // false
if(!1) // false
if(!'') // true
if(!undefined) // true
if(!!' ') // true
if(!!'') // false

Operadores de comparação sempre retornam um valor booleano. Ex:

10 > 5; // true
5 > 10; // false
20 < 10; // false
10 <= 10 // true
10 >= 11 // false

O operador == faz uma comparação de valores, sem checar o tipo de dado. O === faz uma comparação estrita, validando o valor e o tipo do dado. Ex:

10 == '10'; // true
10 == 10; // true
10 === '10'; // false
10 === 10 // true
10 != 15 // true
10 != '10' // false
10 !== '10' // true

O operador lógico && (AND) compara se uma expressão e a outra é verdadeira e retorna o valor de acordo com o resultado desta condicional de acordo com os tipos das condições.

Se ambos os valores forem true ele irá retornar o último valor verificado. Se algum valor for false ele irá retornar o mesmo e não irá continuar a verificar os próximos.Ex:

true && true; // true
true && false; // false
false && true; // false
'Gato' && 'Cão'; // 'Cão'
(5 - 5) && (5 + 5); // 0
'Gato' && false; // false
(5 >= 5) && (3 < 6); // true

O operador lógico || (OR) compara se uma expressão ou outra é verdadeira.

Veja também:

Confira mais artigos relacionados

Este website utiliza cookies próprios e de terceiros a fim de personalizar o conteúdo, melhorar a experiência do usuário, fornecer funções de mídias sociais e analisar o tráfego. Para continuar navegando você deve concordar com nossa Política de Privacidade

Sim, eu aceito. Não, eu não aceito.