Condições
Condições levam a sequência de leitura do código para dois (ou mais) caminhos secundários distintos. O programa deixa de seguir uma linha vertical e passa a ter desvios.
Tipos de Condições
- Condição Simples: Só possui um bloco, o true. Quando a condição for falsa, nada acontece.
- Condição Composta: Possui os blocos true e false. Se a condição resultar em verdadeiro, algo acontece, se resultar em falso, outro evento ocorre.
- Condição Aninhada: É quando uma condição composta possui outras condições dentro dela.
- Condição Múltipla: Possui múltiplos blocos de código, com resultados diferentes do true e false habituais. É melhor utilizada para valores fixos, ao invés de intervalos. Só funciona com números inteiros e strings.
Exemplos
Condição Simples
if (velocidade > 80) {
suaVelocidade.innerHTML = "Você foi multado!"
}
Descubra se você foi multado.
Em que velocidade você estava?
Neste exemplo, se a velocidade for menor que 80km/h, o script não retorna nenhum resultado.
Condição Composta
if (velocidade > 80) {
suaVelocidade.innerHTML = "Você foi multado!"
} else {
suaVelocidade.innerHTML = "Você não foi multado!"
}
Descubra se você foi multado.
Em que velocidade você estava?
Com a condição composta, este script retorna resultados diferentes se a velocidade for maior ou menor que 80km/h.
Condição Aninhada
if (idade < 16) {
suaIdade.innerHTML = "Não vota!"
} else {
if (idade < 18 || idade > 65) {
suaIdade.innerHTML = "Voto opcional!"
} else {
suaIdade.innerHTML = "Voto obrigatório!"
}
}
Descubra se você pode votar.
Qual é a sua idade?
No exemplo, o script pode retornar 3 resultados diferentes, sendo que dois deles estão aninhados dentro do comando else.
Condição Múltipla
switch(mes) {
case "Fevereiro":
seuMes.innerHTML = `O mês de ${mesText} tem 28 dias em anos comuns e 29 dias em anos bissextos!`;
break
case "Abril":
seuMes.innerHTML = `O mês de ${mesText} tem 30 dias!`;
break
case "Junho":
seuMes.innerHTML = `O mês de ${mesText} tem 30 dias!`;
break
case "Setembro":
seuMes.innerHTML = `O mês de ${mesText} tem 30 dias!`;
break
case "Novembro":
seuMes.innerHTML = `O mês de ${mesText} tem 30 dias!`;
break
default:
seuMes.innerHTML = `O mês de ${mesText} tem 31 dias!`;
}
Quantos dias tem cada mês?