Decisões
Muitas vezes, quando se escreve código, pretende-se executar ações diferentes para diferentes decisões. Pode-se usar declarações condicionais para fazer isso.
Em JavaScript temos as seguintes declarações condicionais:
- if – use essa instrução para executar algum código somente se uma condição especificada for verdadeira
- if … else – use essa instrução para executar algum código se a condição for verdadeira e outro código se a condição for falsa
- if … else if …. else – use esta instrução para selecionar um dos vários blocos de código que deve ser executado
- switch – use esta instrução para selecionar um dos vários blocos de código que deve ser executado
- operador ternário – equivalente a uma instrução if…else mas que pode ser codificada numa .unica linha de código.
if
A instrução if executa um bloco de código somente se uma condição especificada for verdadeira.
Sintaxe:
if (condição) {
bloco de código codigo a ser executado se a condição fôr true(verdadeira)
}
Exemplo:
Supondo que a variável time = 14:
if (time<20) {
x="Bom dia";
}
O valor na variável x será = “Bom dia”.
if … else
A instrução if …. else é usada para executar um bloco de código se uma condição for verdadeira e outro bloco de código se a condição for falsa.
Sintaxe:
if (condição) {
codigo a ser executado se a condição é true
} else {
codigo a ser executado se a condição é false.
}
Exemplo:
Se a variável time é menor do que 20, a variável x = “Bom dia” , caso contrário, a variável x = “Boa tarde”.
Supondo que time=23:
if (time<20){
x="Bom dia";
} else {
x="Boa tarde";
}
A variável x=”Boa tarde”.
if … else if … else
A instrução if … else if … else para selecionar um dos vários blocos de código a ser executado, dependendo de várias condições.
Sintaxe:
if (condição1) {
codigo a ser executado se a condição1 é true (verdadeira)
} else if (condição2) {
codigo a ser executado se a condição2 é true (verdadeira)
} else {
codigo a ser executado se a condição1 e a condição 2 são ambas false (falsas)
}
NOTA: a opção else é opcional mas, caso exista, tem de ser a ultima opção.
Exemplo:
Se a variável time fôr inferior a 10, a variável x=”Bom dia”, se a variável time fôr inferior a 20, a variável x= “Boa tarde” saudação, senão, a variável x = “Boa noite”:
Supondo que a variável time = 17
if (time<10) {
x="Bom dia";
} else if (time<20) {
x="Boa tarde";
} else {
x="Boa noite";
}
A variável x=”Boa tarde”.
switch
Usa-se a instrução switch para avaliar uma variável e selecionar um dos blocos de código, de cada uma das opções case, que deve ser executado, consoante o valor da variável.
Sintaxe:
switch(n) {
case 1:
executa bloco de codigo 1
break;
case 2:
executa bloco de codigo 2
break;
default:
code a ser executado se n é diferente 1 e 2
}
A instrução switch funciona da seguinte maneira: Primeiro, temos uma única expressão n (na maioria das vezes uma variável), que é avaliada uma vez. O valor da expressão é então comparado com os valores para cada um dos casos (case) na estrutura. Se houver uma correspondência, o bloco de código respetivo é executado. Usa-se o break para evitar que o código seja executado no próximo caso (case) automaticamente.
NOTA: a opção break é opcional..
Exemplo:
O exemplo a seguir a variável x guarda o dia da semana em texto, de acordo com o valor do dia da semana em número:
var day=new Date().getDay();
switch (day)
{
case 0:
x="Domingo";
break;
case 1:
x="Segunda-feira";
break;
case 2:
x="Terça-feira";
break;
case 3:
x="Quarta-feira";
break;
case 4:
x="Quinta-feira";
break;
case 5:
x="Sexta-feira";
break;
case 6:
x="Sábado";
break;
default:
x="Dia da semana inválido";
}
Operador ternário
O operador ternário atribui um valor a uma variável baseada numa condição. Esse operador tem o mesmo efeito da instrução if … else só que ocupa uma única linha de código.
Sintaxe:
variavel = condição ? valor1 : valor2
Exemplo:
var pessoa = idade < 18 ? "Adolescente" : "Adulto";
No exemplo acima, se a variável idade for igual a 20, a variável pessoa será igual a “Adulto”, caso contrário será igual a “Adolescente”.
