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')  
 } 

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 letfor (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 }
QUER SER UM PROGRAMADOR FULL-STACK E DOMINAR AS PRINCIPAIS TECNOLOGIAS DO MERCADO?

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:

CLIQUE AQUI E SAIBA MAIS

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

Tags: | | | | |

Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?

Não enviamos spam. Seu e-mail está 100% seguro!

Sobre o Autor

Bene Silva Júnior
Bene Silva Júnior

Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *