As estruturas de controle em Java Script determinam o que, quando e como certos processos serão repetidos e/ou processados.
IF
É uma expressão que pode ser avaliada como verdadeira (true) ou falsa (false):
function nota(n) {
if(n >= 7) //Se nota for maior ou igual a 7...
console.log('Aprovado') //Mostra mensagem
else //Caso contrário...
console.log('Reprovado') //Mostra mensagem
}
Também é possível criar uma estrutura encadeada de IFs:
function nota(n) {
if(n <= 5)
console.log('Reprovado')
else if (n == 6) //IF encadeado
console.log('Recuperação')
else //Maior que 6...
console.log('Aprovado')
}
SWITCH
A condicional switch avalia uma expressão, combinando o valor da expressão para um cláusula case, e executa as instruções associadas ao case:
switch (nota) { //Recebe a nota...
case 0: case 1: case 2: case 3: case 4: case 5: //Notas entre 0 e 5...
console.log('Reprovado')
break //Desvio de fluxo - sai do laço se a condição for atendida
case 6:
console.log('Recuperação')
break
case 7: case 8: case 9: case 10:
console.log('Aprovado')
break
default //Caso nenhuma das condições seja satisfeita...
console.log('Nota inválida')
}
O switch em JavaScript não suporta o cálculo de intervalos. Por exemplo, case >= 5.
WHILE
A declaração while cria um laço que executa uma rotina especifica enquanto a condição de teste for avaliada como verdadeira:
function numeroAleatorio(min, max) {
const valor = Math.random() * (max - min) + min
return Math.floor(valor)
}
let opcao = 0
while (opcao != -1) { //Enquanto o valor de 'opcao' for diferente de -1...
opcao = numeroAleatorio(-1, 10) //Gera novo valor aleatório...
console.log(`Valor: ${opcao}`)
}
DO WHILE
Cria um laço que executa uma declaração até que o teste da condição for falsa (false). A condição é avaliada depois que o bloco de código é executado, resultando que uma declaração seja executada pelo menos uma vez:
function numeroAleatorio(min, max) {
const valor = Math.random() * (max - min) + min
return Math.floor(valor)
}
let opcao = -1
do {
opcao = numeroAleatorio(-1, 10)
console.log(`Valor: ${opcao}`)
} while (opcao != -1)
FOR
A instrução for cria um loop que consiste em três expressões opcionais, dentro de parênteses e separadas por ponto e vírgula, seguidas por uma declaração ou uma sequência de declarações executadas em sequência:
for(let i = 1; i <= 10; i++) { //Verifica o valor de i até este for menor ou igual a 10
console.log(i)
}
FOR/IN
O laço for…in interage sobre propriedades enumeradas de um objeto, na ordem original de inserção. O laço pode ser executado para cada propriedade distinta do objeto:
const notas = [10, 3.5, 8, 7, 4.8, 1,5]
//Percorre todos os elementos do array
for (i in notas) {
console.log(i, notas[i])
}
const pessoa = {
nome: 'José',
idade: '32',
peso: '65'
}
//Percorre todos os elementos do objeto 'pessoa'
for(atributo in pessoa) {
console.log(`${atributo} = ${pessoa[atributo]}`)
}
Para limitar o escopo da variável i de forma que esta seja acessível apenas de dentro do laço FOR, declare a variável como let: for (let i in notas) …
break interrompe e sai do laço de repetição. Já o continue interrompe a repetição atual e vai direto para a próxima:
const numeros = [1, 2, 3, 4, 5, 6, 7]
for(x in numeros) {
if(x == 3) {
break //Sai do laço for
}
console.log(`${x} = ${numeros[x]}`)
}
/* Mostrará:
0 = 1
1 = 2
2 = 3
*/
for(y in numeros) {
if(y == 3) {
continue //Interrompe a interação if atual e vai para a próxima mas continua dentro do for
}
console.log(`${y} = ${numeros[y]}`)
}
/* Mostrará:
0 = 1
1 = 2
2 = 3 //pula uma interação (do 2 para o 4)
4 = 5
5 = 6
6 = 7
*/
FOR OF
O laço for…of percorre objetos iterativos (incluindo Array, Map, Set, o objeto arguments e assim por diante), chamando uma função personalizada com instruções a serem executadas para o valor de cada objeto distinto:
for (let site of "CriandoBits") {
console.log(site)
}
//Mostra: C r i a n d o B i t s
const N64 = ['Banjo Kazooie','Mario 64','Donkey Kong 64']
for (let jogos of N64) {
console.log(jogos)
}
//Mostra: Banjo Kazooie, Mario 64, Donkey Kong 64
const meusJogos = new Map([
['Banjo Kazooie', { status: false }],
['Mario 64', { status: false }],
['Donkey Kong 64', { status: true }]
])
for (let chave of meusJogos.keys()) {
console.log(chave)
}
//Mostra: Banjo Kazooie, Mario 64, Donkey Kong 64
for (let chave of meusJogos.values()) {
console.log(chave)
}
//Mostra:
{ status: false }
{ status: false }
{ status: true }
Aprenda através de projetos reais e aulas práticas. São 20 cursos completos + cursos bônus. Grupos privados exclusivos, atualizações constantes e lives semanais.
Python, PHP, Java Script, CSS, Node, Angular JS, MySQL, Photoshop, Flutter, AWS, Apache e muito mais!
CLIQUE NA IMAGEM ABAIXO E CONFIRA MAIS DETALHES:
Funções Anônimas em Java Script
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários