logo javascript

Aprenda javascript com facilidade do zero

Prof. Ivan Lourenço Gomes

Condicionais

Condicionais são usados para executar códigos dependendo de condições específicas. A forma de escrevê-los é parecida com a dos loops, mas os condicionais não são estruturas de repetição. Os comandos são executados apenas uma vez e as possibilidades em termos lógicos são superiores às dos loops, conforme vamos ver.

if / else if / else

Vamos começar com um exemplo bem simples. Vamos analisar a idade de uma pessoa e responder se ela é ou não maior de idade.

                    
    var idade = 17;

    if (idade < 18) {

        console.log('Menor de idade');

    } else {

        console.log('Maior de idade');

    }

    // O console mostrará: 'Menor de idade'
                    
                

O que foi escrito no código acima foi: SE (if) a idade for menor que 18, solte 'menor de idade', SENÃO (else) solte 'maior de idade'.

Neste exemplo temos apenas uma condição e caso ela não seja atendida vamos direto ao else. Mas podemos ter mais de uma condição, neste caso usaremos o else if (senão se), que precisará também de uma condição entre parênteses.

                   
    var idade = 18;

    if (idade < 18) {

        console.log('Menor de 18');

    } else if (idade == 18) {

        console.log('Tem 18 anos');

    } else {

        console.log('Maior de 18');

    }

    // O console mostrará: 'Tem 18 anos'                   
                   
               

Não importa quantas condições há, quando alguma é atendida o código é executado e as demais condições nem chegam a ser testadas. Se nenhuma for atendida, o código que está no else será executado, caso exista algum else.

Testando múltiplas condições com and e or

  • && (And): quando testamos duas ou mais condições usando &&, todas precisam ser verdadeiras para que o condicional retorne verdadeiro
  • || (Or): quando testamos duas ou mais condições usando ||, apenas uma precisa ser verdadeira para que o condicional retorne verdadeiro
  • Vamos analisar as notas e faltas de um aluno e avaliar se ele foi ou não aprovado. A regra é: para ser aprovado só pode ter no máximo 5 faltas e a nota precisa ser maior ou igual a 7.

                        
        nota = 7;
        faltas = 3;
    
        // Resolução com and: 
    
        if (nota >= 7 && faltas <= 4) {
            console.log( 'O aluno foi aprovado' );
        } else {
            console.log( 'O aluno foi reprovado' );
        }
    
        // Resolução com or: 
    
        if (nota < 7 || faltas > 4) {
            console.log( 'O aluno foi reprovado' );
        } else {
            console.log( 'O aluno foi aprovado' );
        }
    
        // as duas maneiras de resolver chegam ao mesmo resultado. O console mostrará: "O aluno foi aprovado".
    
        // mude os valores das variáveis nota e faltas e veja como o teste funciona.
    
    
                        
                    

    Avaliando valores como condições

    A linguagem Javascript e outras como Python, PHP etc., avaliam valores mesmo quando não há operadores de comparação. Em Javascript são considerados falsos:

  • undefined
  • null
  • 0
  • NaN
  • "" (string vazio)
  • Todos os outros valores, números, strings, objetos e arrays são considerados verdadeiros.

    Portanto, são bastante comuns estruturas condicionais da seguinte maneira:

                        
        
        var nome = "";
    
        if (nome) {
            
            console.log(nome);
        
        } else {
    
            console.log("Nome não informado");
    
        }
    
        // O string vazio é avaliado como falso, por isso o código dentro do else é executado.
        // O console mostrará "Nome não informado"
        // Este método poderia ser usado para testar se um campo de formulário está vazio, por exemplo.
    
                        
                    

    Índice de Aulas