Também é possível realizar o aninhamento de estruturas condicionais.
if
Neste exemplo, temos vários IFs independentes, e assim, todos que forem verdadeiros serão executados.
let array = [1,2,3,4,5];
array.forEach(function(item){
if(item % 2 == 0){
console.log(item + ' é divisível por 2');
}if (item % 4 == 0){
console.log(item + ' é divisível por 4');
}
});
if...else
let d = new Date();
let hora = d.getHours();
// IF
if(hora < 12){
console.log('Bom dia!');
// ELSE
}else{
console.log('Boa tarde!');
}
if...else if...else
let d = new Date();
let hora = d.getHours();
// IF
if(hora < 12){
console.log('Bom dia!');
// ELSE IF
}else if (hora < 18){
console.log('Boa tarde!');
// ELSE
}else{
console.log('Boa noite!');
}
if Ternário ou if Inline
Se a condição for verdadeira, executa 1a parte ? do código, se não, executa 2a parte :.
let d = new Date();
let hour = d.getHours();
let message = (hour < 12) ? 'Good Afternoon!' : 'Good Morning!';
console.log(message);
Switch
Equivale a uma comparação de tipo e valor (===).Executa a condição que for verdadeira, e todas as condições após a verdadeira, mesmo que estas não sejam verdadeiras.
Caso nenhuma condição seja verdadeira, executa o default, se houver.
Ao encontrar o operador break a execução é interrompida.
O default é opcional.
let num = 2;
switch (num) {
case 1:
console.log(`case 1: ${num}`);
break;
case 2:
console.log(`case 2: ${num}`);
case 3:
console.log(`case 3: ${num}`);
default:
console.log(`Default ${num}`);
}