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”.