- MÉTODOS DE ARRAY
- MÉTODOS DE OBJETOS
- FORMATANDO VALORES
- PROMISE
- CLOSURE
- COMO JS FUNCIONA ?
ENTENDENDO AS BASES
DE JS EM 5 MINUTOS
MÉTODOS DE OBJETOS EM
JAVASCRIPT
COMO FUNÇÕES
MEMORIZAM O
ESCOPO
Uma closure é uma função em
JavaScript que "lembra" do
ambiente em que foi criada,
mesmo após esse ambiente ter
sido executado.
Isso significa que uma função
tem acesso às variáveis que
estavam no escopo onde ela foi
definida, mesmo quando é
usada fora desse escopo.
Mesmo que createCounter
seja executada e termine, a
função interna ainda
"lembra" do valor de count
React.js
React Hooks utilizam closures
para acessar variáveis e manter a
consistência do estado durante as
renderizações do componente.
Esse comportamento é uma
característica fundamental do
React, permitindo a manutenção
do estado entre renderizações
sem precisar de variáveis globais
ou referências externas.
closure serve para:
-Encapsulamento (estado privado):
-Currying
-Memoização
-Controle de acesso (funções privadas)
Com isso, podemos
encapsular recursos e
organizar melhor
nossas aplicações em
React.js.
Podemos definir um contrato
para o retorno da nossa closure,
transformando-a em um
adaptador de uma interface, o
que nos permite isolar e separar
o recurso que estamos utilizando
Agora, basta
encapsular seus
recursos e utilizá-los
conforme necessário
Como o Javascript
Funciona?
Event Loop, Microtasks, Task queue,
Call Stack e Single Threaded
Isaac Gomes
como nosso código
JS é executado?
qual a nossa ordem de
execução e pq? para isso
vamos entender as partes da
nossa execução
Isaac Gomes
Single Threaded
JavaScript é uma linguagem de
thread única, o que significa que só
pode executar uma tarefa por vez.
No entanto, o Event Loop permite
que JavaScript lide com tarefas
assíncronas sem bloquear a
execução do código principal.
Isaac Gomes
Call Stack
O Call Stack é uma estrutura de
dados que armazena informações
sobre a execução das funções.
Quando uma função é chamada, ela
é empilhada no Call Stack, e quando
a execução da função termina, ela é
removida do Call Stack.
Isaac Gomes
Microtasks Queue
Microtasks Queue é usada para
processar promessas (Promises) e
outras tarefas de microtarefas. A
Microtasks Queue tem prioridade
sobre a Task Queue, o que significa
que todas as microtarefas devem ser
processadas antes que o Event Loop
passe para o próximo evento na
Task Queue
Isaac Gomes
Task Queue
A Task Queue armazena as
mensagens (ou eventos) que
precisam ser processadas. Quando
uma operação assíncrona, como
uma requisição HTTP ou um
temporizador, é concluída, uma
mensagem é colocada na Task
Queue para que o Event Loop a
processe.
Isaac Gomes
Event Loop
O Event Loop é um mecanismo que
permite que o JavaScript execute
código assíncrono e reaja a eventos,
mesmo sendo uma linguagem single-
threaded. Ele monitora a Call Stack
e a Task Queue, garantindo que as
tarefas na fila sejam processadas
quando a pilha de chamadas está
vazia. Assim, o Event Loop mantém o
JavaScript não bloqueante e
eficiente.
Isaac Gomes
agora vamos acompanhar a
execução do nosso código
RUN
Isaac Gomes
agora vamos acompanhar a
execução do nosso código
o primeiro bloco vai para
Task Queue, pois, trata-se de
um temporizador
Isaac Gomes
agora vamos acompanhar a
execução do nosso código
como é uma promise vai
para Microtask Queue
Isaac Gomes
agora vamos acompanhar a
execução do nosso código
como nosso código é sync
vai para Call Stack
Isaac Gomes
agora vamos acompanhar a
execução do nosso código
como uma função sync chama a
outra elas vão ser espilhadas até
o console.log
Isaac Gomes
agora vamos acompanhar a
execução do nosso código
uma vez executado o console as
funções vão sendo removidas da
call stack
Isaac Gomes
agora vamos acompanhar a
execução do nosso código
uma vez com a call stack limpa o
event loop vai puxar do Microtasks
uma vez que o Microtasks tem
prioridade sobre o Task Queue
Isaac Gomes
agora vamos acompanhar a
execução do nosso código
segundo console.log executado
com isso a função é removida da
call stack
Isaac Gomes
agora vamos acompanhar a
execução do nosso código
agora que ja passamos pelas sync
e Microtasks puxa as task queue
executando o ultimo console.log
e limpando a call stack
Isaac Gomes
qual foi nossa ordem?
"finaizou - sync"
"finaizou - Microtask Queue"
"finaizou - Task Queue"
Isaac Gomes
Como o Javascript
Funciona?
agora nossa imagem
começa a fazer sentido
Isaac Gomes
FIQUE LIGADO NO CANAL
PARA MAIS CONTEÚDOS.
Gostou?
Curta
Compartilhe
Salve