7 Estruturas de controle
Assim como para linguagens de programação diversas, estruturas de controle em JavaScript direcionam o fluxo de execução do código (ordem, condições). Os fluxos de controle mais comuns são os condicionais e de repetição:
// Condicionais
if // executa um bloco de código se uma condição for verdadeira
else // executa um bloco de código se a condição do if for falsa
else if // verifica múltiplas condições em sequência
switch // executa diferentes blocos de código com base no valor de uma expressão
// Repetição
for // laço com contador: inicialização; condição; atualização — ideal quando o nº de iterações é conhecido
while // laço por condição: repete enquanto a condição for verdadeira (condição testada ANTES de cada volta)
do while // laço pós-teste: executa AO MENOS uma vez e repete enquanto a condição for verdadeira (testada DEPOIS)
7.1 Estruturas condicionais
Para as estruturas condicionais, seguem alguns exemplos.
7.1.1 IF
A sintaxe de declaração dessa função é:
if (condição) execute isto quando verdadeiro
Seguem exemplos pra testes logo abaixo do 1o.
// if
let idade = 18;
if (idade >= 18) {
print("Você é maior de idade.");
}
// saída: Você é maior de idade.
7.1.2 ELSE
A sintaxe de declaração dessa função é:
if (condição) { execute isso quando verdadeiro
}
else {quando falso, execute essa alternativa
}
// else
let idade = 15;
if (idade >= 18) {
print("Você é maior de idade.");
} else {
print("Você é menor de idade.");
}
// saída: Você é menor de idade.
7.1.3 ELSE IF
A sintaxe de declaração dessa função permite ramificação múltipla (branching):
se (condição) {
execute isso quando verdadeiro
}
else if (condição) {
execute isso quando veradeiro
}
else if (condição) {
execute isso quando verdadeiro
}
else {
execute isso quando falso
}
// else if
let nota = 75;
if (nota >= 90) {
print("A");
} else if (nota >= 80) {
print("B");
} else if (nota >= 70) {
print("C");
} else {
print("D");
}
// saída: C
7.1.4 SWITCH
A sintaxe de declaração dessa função também permite branching múltiplo.
switch (expressão) {
case 1: execute isso quando se adequar; break
case 2: execute isso quando se adequar; break
case 3: execute isso quando se adequar; break
default: execute isso quando não houver adequação
}
// switch
let dia = "segunda";
switch (dia) {
case "segunda":
print("Dia de trabalho.");
break;
case "sábado":
print("Dia de descanso.");
break;
default:
print("Dia comum.");
}
// saída: Dia de trabalho.
7.2 Estruturas de repetição
Seguem alguns exemplos para as estruturas de repetição em JavaScript.
7.3 FOR
A sintaxe de declaração dessa função é:
for (inicializador; condição; modificador) {
execute isso
}
// for
for (let i = 0; i < 5; i++) {
print(i);
}
// saída:
// 0
// 1
// 2
// 3
// 4
7.3.0.1 FOR…IN
// for...in
let pessoa = { nome: "João", idade: 30 };
for (let propriedade in pessoa) {
print(propriedade + ": " + pessoa[propriedade]);
}
// saída:
// nome: João
// idade: 30
7.3.0.2 FOR…OF
// for...of
let numeros = [1, 2, 3];
for (let numero of numeros) {
print(numero);
}
// saída:
// 1
// 2
// 3
7.3.1 WHILE
A sintaxe de declaração dessa função é:
while (condição) {
execute isso
modificador
}
// while
let contador = 0;
while (contador < 3) {
print(contador);
contador++;
}
// saída:
// 0
// 1
// 2
7.3.2 DO…WHILE
A sintaxe de declaração dessa função é:
do {
execute isso
modificador
}
while (condição)
// do...while
let i = 0;
do {
print(i);
i++;
} while (i < 5);
// saída:
// 0
// 1
// 2
// 3
// 4