Aprenda a codificar com JavaScript: Parte 2, condicionais

Se declarações

Uma única instrução if executará uma ação se uma condição for verdadeira. Se a condição for falsa, o programa executará a próxima instrução que estiver fora do bloco if. No exemplo a seguir, se a expressão isRaining é verdade, então vamos putOnCoat() e putOnRainboots() então goOutside(). Se isRaining for falso, o programa só executará goOutside().

Esta é a forma geral para escrever uma instrução if:

o doença é uma expressão que tem o valor true ou false ou é avaliada como true ou false. Uma expressão verdadeira ou falsa é chamada de expressão booleana. Expressões booleanas são feitas com operadores relacionais.

Operadores relacionais

Um operador relacional compara dois valores e determina se a relação entre eles é verdadeira ou falsa. Eles podem ser usados ​​para criar expressões booleanas para nossas condições. Aqui está uma lista de operadores relacionais com exemplos:

Operador Significado Exemplo Significado
== igualdade x == y x é igual a y?
=== igualdade estrita x === y X é igual a y em valor e tipo?
!= desigualdade x != y x não é igual a y?
!== desigualdade estrita x !== y X não é igual a y em valor e tipo?
> Maior que x > y x é maior que y?
< Menor que x < y x é menor que y?
>= maior ou igual x >= y x é maior ou igual a y?
<= Menor ou igual x <= y x é menor ou igual a y?

É importante observar a diferença entre o operador de igualdade == e o operador de igualdade estrita ===. Por exemplo, a expressão 2 == "2" é verdade. Mas a expressão 2 === "2" é falso. No segundo exemplo, os dois valores são tipos de dados diferentes e é por isso que a expressão é falsa. É uma boa prática usar === ou !==.

O exemplo a seguir exibirá a mensagem “Você obteve um A”.

Instruções If-Else

Uma instrução if-else executará um bloco de instruções se sua condição for verdadeira ou outro bloco se sua condição for falsa. O exemplo a seguir exibirá a mensagem “nome de usuário válido” porque a condição é verdadeira.

Esta é a forma geral de uma instrução if-else:

Questionário

Qual será a saída desse programa?

Operador Ternário

As instruções if-else são tão comuns na programação que existe um operador ternário dedicado que permite escrever instruções if-else simples em uma única linha. O operador ternário é o único operador em JavaScript que usa três operandos.

O operador aceita uma condição no início seguida de um ponto de interrogação. O ponto de interrogação é seguido por uma expressão que é executada se a condição for avaliada como um valor verdadeiro. A expressão é seguida por dois pontos. Temos ainda outra expressão após os dois pontos que é executada se a condição for avaliada como um valor falso.

Vamos ver um exemplo para ficar claro. Começamos com um sale_price que é igual ao max_price variável. Agora, mudamos o sale_price para 900 se o valor de big_discount avalia para true. Caso contrário, o sale_price valor é definido como 950. Desde então, definimos big_discount para truea sale_price valor é finalmente definido como 900.

Aqui está o código equivalente escrito usando o operador ternário na última linha. Basicamente, o sale_price será definido como 900 se big_discount avalia para true e sale_price será definido como 950 se big_discount avalia para false. Assim como no exemplo anterior, o valor de big_discount está configurado para true assim sale_price é definido como 900.

Múltiplas instruções If-Else

Também é possível verificar mais de uma condição. Digamos que você esteja monitorando o estoque de um determinado produto em uma loja e realizando determinadas ações com base em sua contagem de estoque. O código ficaria mais ou menos assim:

Você deve notar como eu uso else if e não apenas if para escrever várias condições. Este é o caminho a seguir se você deseja apenas que um bloco seja executado. Usando apenas if para escrever seus condicionais pode resultar na execução de vários blocos, conforme mostrado abaixo:

Esta é a forma geral para escrever várias instruções if-else-if:

Operador Ternário Encadeado

Já discutimos como os operadores ternários podem nos ajudar a escrever um código mais compacto, substituindo simples if-else declarações. Você pode usar operadores ternários encadeados de maneira semelhante para replicar vários if-else declarações. Aqui está um exemplo:

Assim como um normal if-else declaração, começamos verificando se o stock_count é superior a 80. Como não é, vamos para a próxima condição onde verificamos se stock_count tem mais de 20. Isso avalia true então obtemos a string “Esteja pronto para reabastecer”.

Declarações de troca

Uma instrução switch também é usada para executar condicionalmente alguma parte do seu programa. O exemplo a seguir implementa nosso conversor de numeral romano como uma instrução switch:

Esta é a forma geral de uma instrução switch:

Cada caso representa um valor que nossa expressão pode assumir. Somente o bloco de código para o caso verdadeiro será executado. Incluímos uma instrução break no final do bloco de código para que o programa saia da instrução switch e não execute nenhum outro caso. O caso padrão é executado quando nenhum dos outros casos é verdadeiro.

Tarefa

Escreva uma instrução switch que exiba o dia da semana dado um número. Por exemplo, 1 = domingo, 2 = segunda-feira, etc.

Operadores lógicos

o operador e && e o operador ou || nos permite conectar duas expressões booleanas. O operador não ! nega uma expressão. Para ilustrar como os operadores lógicos funcionam, veremos uma tabela verdade. Uma tabela verdade contém todas as combinações de valores usadas com os operadores. eu uso P para representar a expressão da mão esquerda e Q para a expressão da mão direita.

&& tabela verdade:

P Q P && Q
verdadeiro verdadeiro verdadeiro
verdadeiro falso falso
falso verdadeiro falso
falso falso falso

Lemos a tabela passando por cada linha. A primeira linha nos diz que quando P é verdade e Q é verdade, P && Q é verdade. O exemplo a seguir testa se x está entre 60 e 100 inclusive.

|| tabela verdade:

P Q P || Q
verdadeiro verdadeiro verdadeiro
verdadeiro falso verdadeiro
falso verdadeiro verdadeiro
falso falso falso

Este exemplo testa se 82 está fora do intervalo 60–100:

! tabela verdade:

P !P
verdadeiro falso
falso verdadeiro

Exemplo:

Tarefa

Preencha a tabela com os valores que faltam.

P Q !P !Q !P && !Q !P || !Q
verdadeiro verdadeiro
verdadeiro falso
falso verdadeiro
falso falso

Algo útil para saber sobre operadores lógicos é que, se a expressão do lado esquerdo da && operador for falso, a expressão à direita não será verificada porque toda a instrução é falsa. E se a expressão do lado esquerdo de um || operador for verdadeiro, a expressão à direita não será verificada porque toda a instrução é verdadeira.

Análise

Um programa pode executar blocos de código condicionalmente usando expressões booleanas. Uma expressão booleana é escrita usando operadores relacionais. Os operadores lógicos nos permitem combinar expressões booleanas.

Uma única instrução if fornece ao programa um caminho alternativo a ser seguido se uma condição for atendida. As instruções if-else fornecem um segundo curso de ação se a condição for falsa. E as instruções if-else-if nos permitem testar várias condições. As instruções switch podem ser usadas como alternativa a uma instrução if-else-if quando você tiver várias condições para testar.

Deixe uma resposta