Escopo de JavaScript: Bloco, Global e Função
O escopo determina onde você utiliza uma variável em seu código.
Escopo Global As variáveis vivem fora de funções ou blocos. Você pode acessá-las de qualquer lugar do seu script. Aviso: Variáveis globais levam a bugs porque qualquer parte do seu código pode alterá-las.
Escopo de Função As variáveis vivem dentro de uma função. Você só pode acessá-las dentro dessa função específica.
Escopo de Bloco Isso se aplica ao JavaScript moderno usando let ou const. As variáveis vivem dentro de chaves {}. Um bloco inclui:
- instruções if
- loops for
- loops while
- blocos independentes {}
Resumo de Escopo:
- Global: Acessível em todos os lugares.
- Função: Acessível apenas dentro da função.
- Bloco: Acessível apenas dentro das chaves.
- var: Usa escopo de função. Ele ignora o escopo de bloco.
- let e const: Usam escopo de bloco. Use estes para um código melhor.
Entendendo Processos e Threads
Um processo é um programa em execução com sua própria memória. Pense no WhatsApp como um processo.
Uma thread é uma pequena parte de um processo. Threads compartilham a mesma memória.
- Threads são leves.
- São rápidas de criar.
- Elas permitem que você faça muitas coisas ao mesmo tempo.
Exemplo do WhatsApp: Um processo (WhatsApp) executa múltiplas threads:
- Recebendo mensagens
- Enviando fotos
- Reproduzindo vídeos
- Mostrando notificações
Fonte: https://freeacademy.ai/lessons/global-vs-function-vs-block-scope Fonte: https://josephcardillo.medium.com/the-difference-between-function-and-block-scope-in-javascript-4296b2322abe