0% acharam este documento útil (0 voto)
9 visualizações34 páginas

Javascript

O documento aborda conceitos fundamentais do JavaScript, incluindo métodos de arrays e objetos, promises, closures e a execução do código através do Event Loop. Explica como closures permitem encapsulamento e controle de acesso, além de detalhar a estrutura do Call Stack, Microtasks Queue e Task Queue. O texto também ilustra a ordem de execução de tarefas assíncronas e como o JavaScript mantém sua natureza não bloqueante.

Enviado por

nicolle
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
9 visualizações34 páginas

Javascript

O documento aborda conceitos fundamentais do JavaScript, incluindo métodos de arrays e objetos, promises, closures e a execução do código através do Event Loop. Explica como closures permitem encapsulamento e controle de acesso, além de detalhar a estrutura do Call Stack, Microtasks Queue e Task Queue. O texto também ilustra a ordem de execução de tarefas assíncronas e como o JavaScript mantém sua natureza não bloqueante.

Enviado por

nicolle
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 34

- 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

Você também pode gostar