Please enable JavaScript.
Coggle requires JavaScript to display documents.
Como JavaScript realmente funciona? - Coggle Diagram
Como JavaScript realmente funciona?
O que é JavaScript?
Um linguagem de programação single-thread, non-blocking, assíncrona e concorrente
Call Stack
Single Thread = Uma Call Stack = Um coisa por vez
É uma Pilha (stack), ou seja, Last-In First-Out
Determina em que ponto de execução o código está
Event Loop
É uma fila, ou seja, First-In First-Out
A responsabilidade do Event Loop é verificar se a Call Stack está vazia
Se estiver, verifica se tem algo na Task Queue e envia para a Call Stack
Callback queue (Task queue)
Execuções assíncronas
API's
Eventos assíncronos, como setTimeout, são processados pelas API's externas ao runtime (V8, por exemplo), ou seja, em outra Thread
Então JS não é realmente Single-Thread
Quando o evento é finalizado, ele é enviado para a Task Queue
Runtime
V8
Call Stack
Heap
Alocação de memória
Blocking vs Non-Blocking
Blocking
Código que demora para executar