Entendendo o Conceito de Escopo

Escopo, muitas pessoas ficam confusas ao ouvir esta palavra.

Neste texto usaremos a linguagem Javascript para exemplificar o uso de escopos, mas o conhecimento é o mesmo para qualquer outra linguagem de programação.

O escopo em programação refere-se à visibilidade e acessibilidade de variáveis em diferentes partes de um código. Ele determina onde as variáveis podem ser usadas e modificadas.

Existem dois tipos principais de escopo: escopo global e escopo local.

1. Escopo Global:

  • Variáveis declaradas fora de qualquer função têm escopo global.
  • Elas podem ser acessadas de qualquer parte do código, tanto dentro de funções quanto no escopo global.
Escopo global em JS

2. Escopo Local:

  • Variáveis declaradas dentro de uma função têm escopo local.
  • Elas só podem ser acessadas dentro da função em que foram declaradas.

Na imagem abaixo você verá o uso correto e o errado da variável no escopo local, na linha 2 é declarada let localVar = “Eu sou local”; Dentro da função exmploLocal(), na linha 6 é invocada/chamada esta função, printando/imprimindo na tela a frase “Eu sou local”. 

Já na linha 7, é passado o comando para imprimir na tela a mesma variável que foi declarada na linha 2, só que desta vez ocorre um erro.

Abaixo o código foi rodado/executado duas vezes, a primeira com o resultado correto e logo em seguida digitei a linha 8 e rodei novamente o código, gerando o erro em VERMELHO, observe o erro que diz ReferenceError: localVar is not defined

JS Escopo Local

3. Escopo de Bloco (ES6+):

  • A introdução de let e const no ECMAScript 6 trouxe o escopo de bloco.
  • Variáveis declaradas com let e const têm escopo de bloco, limitando sua visibilidade ao bloco de código mais próximo, como em instruções if ou loops.
Rolar para cima