Anotações JavaScript
Anotações JavaScript
Javascript é uma linguagem de programação usada principalmente para criar efeitos dinâmicos
em páginas da web. Pense nela como uma maneira de dar vida e interatividade aos sites.
Fundamentos
Variáveis
Variáveis são como caixas onde você pode guardar e acessar informações. Elas são essenciais
para armazenar dados que você precisa usar mais tarde.
Cenário do dia a dia: Imagine que você tem um caderno onde escreve seus lembretes. Cada
lembrete é como uma variável.
var minhaVariavel = "Olá, mundo!"; // Cria uma variável com o valor "Olá, mundo!"
// Exemplo profissional
var numeroDeTarefas = 5;
[Link](numeroDeTarefas); // Mostra 5
Tipos de Dados
Os tipos de dados são diferentes categorias de valores que você pode armazenar em variáveis.
Cenário do dia a dia: Você pode ter uma caixa para números (como a quantidade de maçãs) e
outra para texto (como o nome das maçãs).
Aplicação profissional: Em um sistema de e-commerce, você pode ter variáveis para o preço
dos produtos (número) e para o nome dos produtos (texto).
var meuNumero = 10; // Tipo de dado número
[Link](meuNumero); // Mostra 10
// Exemplo profissional
1
let e const
São formas modernas de declarar variáveis. let permite mudar o valor, enquanto const cria
variáveis cujo valor não pode ser alterado.
Cenário do dia a dia: Você tem uma garrafa de água (let) que você pode encher ou esvaziar, e
uma garrafa decorativa (const) que você só usa para exibição.
Aplicação profissional: Em um sistema de controle de inventário, você pode usar let para a
quantidade de itens em estoque (que pode mudar) e const para o nome do produto.
let idade = 25; // Variável que pode ser alterada
// Exemplo profissional
Operadores Aritméticos
Cenário do dia a dia: Você quer saber quantas maçãs tem no total se você comprar 5 maças e
já tiver 3.
let b = 5;
// Exemplo profissional
2
let totalVendas = vendasJaneiro + vendasFevereiro;
Operadores de Comparação
Esses operadores comparam dois valores e retornam verdadeiro (true) ou falso (false).
Cenário do dia a dia: Você compara se o número de maçãs que você tem é maior do que 10.
let d = 20;
// Exemplo profissional
Operadores Lógicos
Cenário do dia a dia: Você só vai ao parque se o clima estiver bom e se tiver tempo.
Aplicação profissional: Você só executa uma tarefa se todas as condições forem atendidas,
como se o usuário estiver autenticado e tiver permissão para acessar uma área.
Conversão de Tipos
3
Transforma um valor de um tipo para outro tipo.
Cenário do dia a dia: Você converte um número de telefone em um formato que pode ser
exibido.
Aplicação profissional: Você converte dados de entrada de um formulário para garantir que
sejam do tipo correto antes de salvar no banco de dados.
const meuNumeroTexto = "123";
// Exemplo profissional
Cenário do dia a dia: Você decide se vai sair com base no clima. Se estiver chovendo, você fica
em casa; caso contrário, você vai sair.
[Link]("Fique em casa");
[Link]("Leve um guarda-chuva");
} else {
// Exemplo profissional
4
if (statusPedido === "pendente") {
[Link]("Aguarde a confirmação");
} else {
[Link]("Pedido concluído");
switch
Outra maneira de lidar com várias condições baseadas no valor de uma variável.
Cenário do dia a dia: Você escolhe o que comer baseado no menu do restaurante.
Aplicação profissional: Você processa diferentes tipos de solicitações de API com base no
código de resposta.
const diaDaSemana = "sexta-feira";
switch(diaDaSemana) {
case "segunda-feira":
[Link]("Começo da semana!");
break;
case "sexta-feira":
break;
default:
[Link]("Dia normal");
}
// Exemplo profissional
switch(codigoResposta) {
case 200:
[Link]("OK");
break;
case 404:
[Link]("Não encontrado");
break;
5
default:
[Link]("Erro desconhecido");
Estruturas de Repetição
for
Usa um contador e é ótimo para repetir um bloco de código um número fixo de vezes.
Cenário do dia a dia: Você conta de 1 a 10 para checar quantos passos deu.
Aplicação profissional: Você gera uma lista de itens para exibição em um relatório.
for(let i = 0; i < 5; i++) {
// Exemplo profissional
while
Cenário do dia a dia: Você vai continuar a fazer exercícios físicos até sentir que está cansado.
while(k < 5) {
k++;
// Exemplo profissional
while (dadosPendentes) {
6
// Código para processar dados
[Link]("Processando dados...");
do while
Executa o bloco de código pelo menos uma vez e depois continua enquanto a condição for
verdadeira.
Cenário do dia a dia: Você pega um ônibus e verifica se é o seu. Se não for, você pega outro,
mas pelo menos verifica uma vez.
Aplicação profissional: Você lê dados de um arquivo e processa cada linha. Verifica se há mais
linhas para ler após o processamento de cada linha.
let j = 0;
do {
j++;
// Exemplo profissional
do {
} while (!leituraConcluida);
Funções
Funções são blocos de código que você define uma vez e pode reutilizar em várias partes do
seu programa.
Cenário do dia a dia: Você tem uma receita para fazer um bolo e pode seguir essa receita
várias vezes.
Aplicação profissional: Você tem uma função para calcular o preço total de um pedido com
base em diferentes taxas e descontos.
function cumprimentar(nome) {
7
[Link]("Olá, " + nome + "!"); // Mostra uma saudação personalizada
// Exemplo profissional
Escopo de Variáveis
Define onde uma variável pode ser usada. Variáveis dentro de funções não afetam variáveis
externas.
Cenário do dia a dia: Você tem uma caixa de brinquedos para seus filhos e uma caixa separada
para suas ferramentas. As brinquedos são só para seus filhos, e as ferramentas são só para
você.
function mostrarCor() {
Hoisting (Içamento)
É um comportamento onde funções e variáveis são movidas para o topo do código antes de
serem executadas.
Cenário do dia a dia: Você consegue usar uma lista de tarefas mesmo que você a tenha criado
depois de começar a planejar o dia.
8
Aplicação profissional: Em um sistema de cálculos financeiros, você pode definir e usar
funções em qualquer lugar do código, desde que sejam definidas antes da execução.
testeHoisting(); // Pode ser chamado antes de ser definido
function testeHoisting() {
Manipulação de Arrays
Método map()
Cria um novo array com os resultados da aplicação de uma função a cada elemento do array
original.
Cenário do dia a dia: Você tem uma lista de preços e deseja aplicar um desconto a cada um.
Aplicação profissional: Você processa uma lista de usuários para extrair apenas os nomes e
criar uma lista de e-mails.
const precos = [100, 200, 300];
// Exemplo profissional
const usuarios = [
];
Manipulação de Arrays
Método filter()
Cria um novo array com todos os elementos que passam no teste implementado por uma
função fornecida.
Cenário do dia a dia: Você tem uma lista de tarefas e quer filtrar apenas as que estão
marcadas como "pendentes".
9
Aplicação profissional: Você filtra uma lista de usuários para mostrar apenas aqueles que
estão ativos.
const tarefas = [
];
// Exemplo profissional
const usuarios = [
];
[Link](usuariosAtivos); // Mostra [{ nome: "Ana", ativo: true }, { nome: "Carlos", ativo: true }]
Método reduce()
Aplica uma função a um acumulador e a cada elemento do array (da esquerda para a direita)
para reduzir a um único valor.
Cenário do dia a dia: Você soma o total de itens em uma lista de compras para saber quanto
vai gastar no total.
Aplicação profissional: Você calcula o total de vendas de uma loja somando os valores de cada
venda.
const precos = [100, 200, 300];
const total = [Link]((acumulador, preco) => acumulador + preco, 0); // Soma todos os preços
// Exemplo profissional
10
const vendas = [1500, 2000, 2500];
Cenário do dia a dia: Você procura um item específico em uma lista de compras para verificar
se ele está presente.
const frutaEncontrada = [Link](fruta => [Link]("M")); // Encontra a primeira fruta que começa com
"M"
// Exemplo profissional
const usuarios = [
];
Método some()
11
Cenário do dia a dia: Você verifica se pelo menos um item na sua lista de tarefas está marcado
como "urgente".
];
// Exemplo profissional
const produtos = [
];
Método sort()
Cenário do dia a dia: Você organiza uma lista de compras em ordem alfabética para facilitar a
leitura.
Aplicação profissional: Você ordena uma lista de usuários por nome ou idade antes de exibi-
los na interface.
const numeros = [4, 2, 5, 1, 3];
// Exemplo profissional
12
const usuarios = [
];
Método map()
Cria um novo array com os resultados da função fornecida aplicada a cada elemento do array.
Cenário do dia a dia: Você transforma uma lista de preços com desconto aplicado.
Aplicação profissional: Você transforma uma lista de objetos de dados para adicionar ou
modificar informações antes de exibir ou processar.
const precos = [100, 200, 300];
// Exemplo profissional
const usuarios = [
];
Método forEach()
Executa uma função para cada elemento do array. Diferente do map(), não retorna um novo
array.
Cenário do dia a dia: Você imprime a lista de compras para cada item no papel.
Aplicação profissional: Você faz uma atualização em todos os itens de uma lista de dados ou
executa uma ação para cada item.
13
const tarefas = ["Comprar leite", "Estudar JavaScript", "Fazer exercícios"];
[Link](tarefa => {
});
// Exemplo profissional
const produtos = [
];
[Link](produto => {
});
Manipulação de Objetos
Método [Link]()
Cenário do dia a dia: Você tem um objeto com detalhes de um produto e quer ver todos os
valores sem as chaves.
Aplicação profissional: Você extrai todos os valores de um objeto de configuração para gerar
um relatório ou exportar os dados.
const produto = {
nome: "Notebook",
preco: 2500,
categoria: "Eletrônicos"
};
// Exemplo profissional
const configuracoes = {
modoEscuro: true,
idioma: "pt-BR",
14
atualizacaoAutomatica: false
};
Método [Link]()
Cenário do dia a dia: Você tem um objeto com informações pessoais e quer listar cada campo
junto com seu valor.
Aplicação profissional: Você gera um relatório com todos os pares chave-valor de um objeto
de dados de usuário para exibir em uma interface.
const pessoa = {
nome: "João",
idade: 25,
};
// Exemplo profissional
const usuario = {
id: 1,
nome: "Maria",
email: "maria@[Link]"
};
Método [Link]()
Cenário do dia a dia 1: Você tem um inventário de itens e quer listar todos os itens
disponíveis.
Cenário do dia a dia 2: Você faz uma lista de todos os itens na sua lista de contatos.
15
Aplicação profissional: Você extrai todos os campos de um objeto de configuração para
exibição ou validação.
const pessoa = {
nome: "Bruno",
idade: 30,
};
// Exemplo profissional
const configuracoes = {
modoEscuro: true,
idioma: "pt-BR",
atualizacaoAutomatica: false
};
// Exemplo profissional
const configuracao = {
modoEscuro: true,
idioma: "pt-BR",
notificacoes: true
};
Método [Link]()
Cenário do dia a dia: Você converte uma lista de contatos em um formato de endereço de e-
mail para envio de convites.
16
Aplicação profissional: Você transforma uma lista de configurações em um objeto para fácil
manipulação e uso em código.
const entradas = [
["nome", "Ana"],
["idade", 25],
];
[Link](pessoa);
// Exemplo profissional
const configuracaoEntries = [
["tema", "escuro"],
["idioma", "pt-BR"],
["notificacoes", true]
];
[Link](configuracao);
Manipulação de Objetos
Método [Link]()
Retorna um array contendo pares de chave e valor dos próprios pares de uma propriedade
enumerável de um objeto.
Cenário do dia a dia: Você faz uma lista de todos os itens e seus preços em um catálogo.
nome: "Ana",
idade: 25,
17
cidade: "São Paulo"
};
[Link](entradas);
Método flat()
Cenário do dia a dia: Você organiza livros em várias prateleiras e deseja ver todos os livros em
uma única lista.
Aplicação profissional: Você processa dados estruturados em vários níveis para exibir em uma
interface de usuário.
const arrayAninhado = [1, [2, 3], [4, [5, 6]]];
// Exemplo profissional
const dadosAninhados = [
];
.flat();
[Link](todasCategorias);
Método findIndex()
18
Cenário do dia a dia: Você encontra a posição de um item específico em uma lista de tarefas
para editá-lo.
[Link](indice); // Mostra 2
// Exemplo profissional
const usuarios = [
];
[Link](indiceUsuario); // Mostra 1
[Link](destino, fonte);
19
// Exemplo profissional
const configuracaoDefault = {
tema: "escuro",
idioma: "pt-BR"
};
const configuracaoUsuario = {
idioma: "en-US"
};
Cenário do dia a dia: Você divide uma caixa de brinquedos em vários pacotes menores.
// Exemplo profissional
const usuario = {
nome: "Ana",
idade: 25
};
const detalhesUsuario = {
email: "ana@[Link]",
telefone: "123456789"
20
};
Cenário do dia a dia: Você define um alarme para tocar após 10 minutos.
Aplicação profissional: Você agenda uma tarefa para enviar uma notificação ao usuário após
um período específico.
setTimeout(() => {
// Exemplo profissional
setTimeout(() => {
setInterval
Cenário do dia a dia: Você define um timer para tocar a cada 1 minuto.
Aplicação profissional: Você atualiza uma exibição de dados em tempo real, como um painel
de monitoramento.
setInterval(() => {
// Exemplo profissional
setInterval(() => {
Cenário do dia a dia: Você tem uma lista de itens separados por vírgulas e quer transformar
essa lista em um array para manipulação.
Aplicação profissional: Você recebe uma string de dados de um formulário e precisa separar
os campos para processá-los individualmente.
const frase = "Maçã, Banana, Laranja";
// Exemplo profissional
Método join()
Cenário do dia a dia: Você tem uma lista de itens para comprar e deseja criar uma única string
para imprimi-la ou enviá-la por mensagem.
Aplicação profissional: Você gera uma string de consulta para uma URL a partir de parâmetros
armazenados em um array.
const listaFrutas = ["Maçã", "Banana", "Laranja"];
// Exemplo profissional
22
Manipulação de Strings
Método includes()
Aplicação profissional: Você busca por palavras-chave dentro de uma string de texto em uma
aplicação de processamento de dados.
const frase = "A programação é divertida";
// Exemplo profissional
Método replace()
Cenário do dia a dia: Você corrige um erro de digitação em uma lista de tarefas.
// Exemplo profissional
23
Manipulação de Strings
Método trim()
Cenário do dia a dia: Você limpa o texto antes de enviar um e-mail, removendo espaços extras
que podem ter sido acidentalmente adicionados.
// Exemplo profissional
Método substring()
Cenário do dia a dia: Você extrai uma parte específica de um número de telefone para
formatá-lo.
Aplicação profissional: Você extrai uma parte de um código de produto para exibir em uma
interface de usuário.
const texto = "Olá, mundo!";
// Exemplo profissional
24
Funções de Callback
Funções callback
Uma função passada como argumento para outra função, para ser executada após a conclusão
da operação.
Cenário do dia a dia: Você faz um pedido para a sua comida e dá um número de telefone para
a pizzaria ligar quando a comida estiver pronta.
Aplicação profissional: Você realiza uma requisição para um servidor e define uma função
para processar os dados quando a resposta chegar.
function buscarDados(callback) {
setTimeout(() => {
}, 2000);
buscarDados(dados => {
});
// Exemplo profissional
function obterUsuario(callback) {
setTimeout(() => {
}, 3000);
obterUsuario(usuario => {
});
25
Trabalhando com Promises e async/await
Promise
Representa a eventual conclusão (ou falha) de uma operação assíncrona e seu valor resultante.
Cenário do dia a dia: Você faz um pedido de entrega e recebe uma notificação quando a
entrega é concluída.
function obterDados() {
setTimeout(() => {
if (sucesso) {
resolve("Dados recebidos");
} else {
}, 2000);
});
obterDados()
// Exemplo profissional
function requisitarDados() {
setTimeout(() => {
resolve(dados);
}, 3000);
});
26
}
requisitarDados()
.then(dados => [Link](`Nome: ${[Link]}, Idade: ${[Link]}`)) // Mostra "Nome: Maria, Idade: 25"
async/await
Cenário do dia a dia: Você aguarda uma mensagem de texto antes de começar uma tarefa.
Aplicação profissional: Você aguarda a resposta de uma requisição de API antes de processar
os dados.
setTimeout(() => {
resolve("Dados recebidos");
}, 2000);
});
mostrarDados();
// Exemplo profissional
setTimeout(() => {
}, 3000);
});
27
async function exibirUsuario() {
exibirUsuario();
O this refere-se ao contexto no qual uma função é executada. Ele pode se comportar de
maneira diferente dependendo de onde e como a função é chamada.
Cenário do dia a dia: Quando você está em uma sala e diz "Eu estou aqui", o "eu" se refere a
você, na sala onde está.
Aplicação profissional: Você tem um objeto que representa um usuário e um método que
retorna o nome desse usuário. O this dentro do método refere-se ao objeto usuário.
const pessoa = {
nome: "Ana",
saudacao: function() {
};
// Exemplo profissional
const funcionario = {
nome: "Carlos",
cargo: "Desenvolvedor",
descricao: function() {
};
28
Funções de seta (arrow functions) têm uma sintaxe mais curta e não vinculam seu próprio this,
o que pode ser útil em certos contextos.
Cenário do dia a dia: Você prefere usar uma caneta mais compacta (que é uma forma mais
curta de escrever) que você encontra mais prática.
Aplicação profissional: Você usa uma função de seta para simplificar a definição de funções
em callbacks ou manipulação de eventos, especialmente quando você não precisa de um this
próprio.
const soma = (a, b) => a + b; // Função de seta para somar dois números
// Exemplo profissional
const quadrados = [Link](num => num * num); // Usa uma função de seta para calcular quadrados
try...catch
Usado para tratar erros que podem ocorrer durante a execução de um bloco de código. O
bloco catch permite lidar com os erros de maneira controlada.
Cenário do dia a dia: Você está tentando ligar um aparelho elétrico, e se ele não ligar, você
verifica a fonte de energia.
Aplicação profissional: Você realiza operações que podem falhar, como leitura de arquivos ou
chamadas a APIs, e trata os erros para evitar que o sistema falhe.
try {
[Link](resultado);
} catch (erro) {
// Exemplo profissional
try {
29
[Link](dados);
} catch (erro) {
buscarDados();
Cenário do dia a dia: Você quer saber que horas são agora para agendar um compromisso.
// Exemplo profissional
[Link]("O evento está agendado para: " + [Link]()); // Mostra a data e hora do evento
[Link]()
Cenário do dia a dia: Você faz vários pedidos de comida e espera que todos sejam entregues
antes de começar a refeição.
Aplicação profissional: Você faz várias requisições a APIs e precisa esperar que todas sejam
concluídas antes de processar os dados coletados.
const promessa1 = new Promise((resolve) => setTimeout(() => resolve('Dados da API 1'), 1000));
const promessa2 = new Promise((resolve) => setTimeout(() => resolve('Dados da API 2'), 2000));
const promessa3 = new Promise((resolve) => setTimeout(() => resolve('Dados da API 3'), 1500));
.then(resultados => {
[Link](resultados); // Mostra ["Dados da API 1", "Dados da API 2", "Dados da API 3"]
})
.catch(erro => {
// Exemplo profissional
const requisições = [
fetch('[Link]
fetch('[Link]
fetch('[Link]
];
[Link](requisições)
.then(dados => {
})
.catch(erro => {
});
setTimeout e setInterval
Método setTimeout()
Cenário do dia a dia: Você define um alarme para acordar após 8 horas de sono.
Aplicação profissional: Você programa uma tarefa para ser executada após um atraso, como
enviar um lembrete após um tempo específico.
setTimeout(() => {
// Exemplo profissional
setTimeout(() => {
Método setInterval()
Cenário do dia a dia: Você configura um cronômetro para lembrar de tomar água a cada 30
minutos.
31
Aplicação profissional: Você atualiza uma interface de usuário com dados em tempo real,
como uma exibição de estatísticas ao vivo.
setInterval(() => {
// Exemplo profissional
setInterval(() => {
fetch()
Cenário do dia a dia: Você consulta um aplicativo de previsão do tempo para saber se deve
levar um guarda-chuva.
Aplicação profissional: Você realiza uma requisição para uma API para obter dados
necessários para exibir em uma aplicação web.
fetch('[Link]
// Exemplo profissional
fetch('[Link]
.then(usuarios => {
[Link](usuario => {
});
})
32
Funções sem nome que são usadas diretamente onde são criadas.
Cenário do dia a dia: Você pede uma comida em um restaurante e define que o pedido deve
ser entregue às 19h, sem dar um nome específico para a solicitação.
Aplicação profissional: Você passa uma função para um método que precisa de uma ação
específica, como uma função de callback.
const numeros = [1, 2, 3, 4];
});
// Exemplo profissional
const produtos = [
];
[Link](function(produto) {
});
Funções que recebem outras funções como argumentos ou retornam uma função.
Cenário do dia a dia: Você contrata um serviço de limpeza e especifica uma tarefa adicional
que deve ser feita após a limpeza básica.
Aplicação profissional: Você cria funções que podem ser usadas para personalizar o
comportamento de uma função de processamento de dados.
function processarArray(arr, operacao) {
return [Link](operacao);
33
const quadrados = processarArray(numeros, num => num * num);
// Exemplo profissional
nome: [Link],
}));
const produtos = [
];
Variáveis definidas dentro de uma função não são acessíveis fora dela (escopo local), e
variáveis definidas fora de qualquer função são acessíveis em qualquer lugar (escopo global).
Cenário do dia a dia: Você guarda um segredo em uma caixa trancada (escopo local) e outro
segredo em uma caixa aberta (escopo global).
Aplicação profissional: Você usa variáveis locais para armazenar dados temporários em uma
função e variáveis globais para configurar parâmetros de uma aplicação.
let global = "Eu sou global"; // Variável global
function exemploEscopo() {
[Link](global); // Acessível
34
[Link](local); // Acessível
exemploEscopo();
[Link](global); // Acessível
// Exemplo profissional
let configuracaoGlobal = {
modoEscuro: false
};
function atualizarConfiguracao() {
let configuracaoLocal = {
idioma: "en-US"
};
[Link](configuracaoGlobal); // Acessível
[Link](configuracaoLocal); // Acessível
atualizarConfiguracao();
[Link](configuracaoGlobal); // Acessível
Closures
Funções que têm acesso às variáveis de seu escopo externo, mesmo após a função externa ter
terminado sua execução.
Cenário do dia a dia: Você guarda uma receita secreta (uma variável) em um caderno (uma
função), e mesmo que você não esteja mais com o caderno, a receita ainda está lá.
Aplicação profissional: Você cria funções que retornam outras funções e preservam o estado
das variáveis internas.
function criarContador() {
let contador = 0;
return function() {
contador++;
return contador;
};
35
}
[Link](meuContador()); // Mostra 1
[Link](meuContador()); // Mostra 2
// Exemplo profissional
function criarMensagemSaudacao(nome) {
return function() {
};
Cenário do dia a dia: Você procura um livro específico em uma estante organizada por gênero.
Aplicação profissional: Você seleciona um elemento específico em uma página web para
atualizar seu conteúdo.
// Exemplo profissional
[Link]("click", () => {
[Link]("Botão clicado!");
});
36
Método addEventListener()
Cenário do dia a dia: Você configura um lembrete para que um alarme toque quando um
evento ocorre.
Aplicação profissional: Você adiciona funcionalidades interativas a uma página web, como
eventos de clique ou teclado.
javascript
Copiar código
[Link]("click", () => {
[Link]("Botão clicado!");
});
// Exemplo profissional
});
Funções e Closures
Funções de Ordem Superior
Funções que podem aceitar outras funções como argumentos ou retornar uma função.
Cenário do dia a dia: Você faz um pedido para que alguém faça um trabalho e fornece
instruções específicas.
Aplicação profissional: Você cria funções que configuram e retornam outras funções para
processamento personalizado de dados.
function fazerCalculo(calculo) {
return function(a, b) {
};
// Exemplo profissional
function aplicarFiltro(filtro) {
return function(array) {
return [Link](filtro);
};
Funções Geradoras
Funções que permitem criar iteradores, gerando valores sob demanda com o yield.
Cenário do dia a dia: Você cria uma receita passo a passo e segue cada passo quando precisar.
Aplicação profissional: Você gera uma sequência de valores ou processa grandes quantidades
de dados em partes.
function* contar() {
yield 1;
yield 2;
yield 3;
[Link]([Link]().value); // Mostra 1
[Link]([Link]().value); // Mostra 2
[Link]([Link]().value); // Mostra 3
// Exemplo profissional
function* gerarNumeros(limite) {
let num = 0;
yield num;
num++;
38
const numeros = gerarNumeros(5);
[Link](num); // Mostra 0, 1, 2, 3, 4, 5
Manipulação de Assíncronos
setTimeout()
Cenário do dia a dia: Você configura um alarme para tocar após um certo período.
Aplicação profissional: Você adia a execução de uma função para aguardar o término de uma
operação ou para melhorar a experiência do usuário.
setTimeout(() => {
}, 2000);
// Exemplo profissional
function carregarDados() {
setTimeout(() => {
[Link]("Dados carregados!");
}, 3000);
Promise
Representa a conclusão (ou falha) eventual de uma operação assíncrona e seu valor resultante.
Cenário do dia a dia: Você faz uma reserva em um restaurante e espera a confirmação.
Aplicação profissional: Você faz uma requisição de dados a um servidor e lida com o resultado
ou erro quando a resposta chega.
const promessa = new Promise((resolve, reject) => {
setTimeout(() => {
}, 2000);
});
39
[Link]((mensagem) => {
}).catch((erro) => {
[Link]("Erro:", erro);
});
// Exemplo profissional
function requisitarDados() {
fetch("[Link]
});
requisitarDados().then(dados => {
[Link](dados);
}).catch(erro => {
});
Cenário do dia a dia: Você faz uma tarefa e espera a resposta antes de seguir para a próxima.
Aplicação profissional: Você aguarda a conclusão de uma chamada de API antes de continuar
a execução do código.
async function carregarDados() {
setTimeout(() => {
}, 2000);
});
exibirDados();
// Exemplo profissional
return dados;
requisitarDados().then(dados => {
[Link](dados);
}).catch(erro => {
});
41