JavaScript Global, Função e Escopo de Bloco | Explicado

JavaScript Global, Função e Escopo de Bloco | Explicado
JavaScript é bastante conhecido no mercado atual de programação, e isso se deve ao seu vasto uso. Tornar -se um desenvolvedor de JavaScript não é apenas um bom trabalho, mas agora é essencial sobreviver no mercado de programação. JavaScript, como qualquer outra linguagem de programação, depende do uso de variáveis. E cada variável tem seu próprio escopo.

Na programação, o escopo é definido como a acessibilidade da variável. Ou em termos mais técnicos, é a referência ao contexto do código. Então, como podemos diferenciar entre o escopo das variáveis ​​e sobre quais fatores esse "escopo" depende? Bem, vamos cobrir tudo relacionado ao escopo variável em JavaScript.

Escopo variável em javascript

No JavaScript, existem 3 tipos de escopo variável, a saber:

  • Âmbito global
  • Escopo da função
  • Bloquear o escopo

Embora, existisse apenas dois tipos de escopos antes ES6, o escopo global e o escopo local. Mas, com o escopo local do ES6, foi dividido no escopo da função e bloqueio.

Vamos começar com o escopo global primeiro.

Âmbito global

As variáveis ​​definidas fora de qualquer função ou encaracolado Suportes são conhecidos como variáveis ​​globais e têm escopo global. Escopo global significa que as variáveis ​​podem ser acessadas a partir de qualquer parte desse programa, qualquer função ou estado condicional pode acessar essa variável.

Por exemplo

var name = "linuxhint";
function printName ()
// A variável pode ser acessada aqui
console.log ("Este tutorial é por"+nome);

printName ();

Saída

Observação: Não é uma boa prática usar variáveis ​​globais quando não forem necessárias, pois cada bloco de código terá acesso a essas variáveis.

Escopo local

Se você definisse algumas variáveis ​​dentro Suportes encaracolados Ou, dentro de uma função específica, essas variáveis ​​são chamadas de variáveis ​​locais, as variáveis ​​locais têm um escopo muito confinado, chamado de escopo local, mas, com o lançamento do ES6, o escopo local foi dividido em dois escopos diferentes:

  • Escopo da função
  • Bloquear o escopo.

Escopo da função

O escopo da função é a acessibilidade das variáveis ​​definidas dentro de uma função, essas variáveis ​​não podem ser acessadas de qualquer outra função ou mesmo fora da função no arquivo principal.

Por exemplo
Primeiro, criamos uma variável dentro de uma função e a acessamos dentro da função:

função abc ()
ano = 2021;
// A variável "Ano" pode ser acessada dentro desta função
console.log ("O ano é"+ ano);

// A variável "Ano" não pode ser acessada lá fora
abc();

Saída

Você pode ver na saída que está funcionando perfeitamente bem como esperado.

No entanto, se tentarmos acessar essa variável fora da função, receberemos um erro:

função abc ()
ano = 2021;
// A variável "Ano" pode ser acessada dentro desta função

// A variável "Ano" não pode ser acessada lá fora
console.log ("O ano é"+ ano);
abc();

Bloquear o escopo

O escopo do bloco também é um subtipo de escopo local. O escopo do bloco pode ser definido como o escopo das variáveis ​​dentro do Suportes encaracolados . Agora, esses colchetes encaracolados podem ser de loops, declarações condicionais ou algo mais. Você só tem permissão para se referir a essas variáveis ​​de dentro do Suportes encaracolados .

Imagine uma situação aninhada:
Um bloco de código fechado com Suportes encaracolados contendo algumas variáveis ​​de bloco.


deixe um = 10;
const b = 5;

Este bloco de código está dentro de uma função.

função adição ()

deixe um = 10;
const b = 5;

Agora, quando tentamos acessar as variáveis ​​de dentro da função, mas fora desse bloco específico.

função adição ()

deixe um = 10;
const b = 5;

console.log (a + b);

E para acessar esta função, precisamos invocá -la por:

Adição();

Então teremos um erro, mesmo que sejam variáveis ​​locais da mesma função.

As palavras -chave deixar e const são usados ​​para definir variáveis ​​de bloco.

Por exemplo
A seguir, verifica as marcas obtidas por um aluno e mostram se o aluno passou ou falhou.

MarksobTained = 60
if (marksobTained> = 45)
Deixe Status = "Passado";
console.log ("Observações do sujeito:" + status);

outro
deixe status = "falhou";
console.log ("Observações do sujeito:" + status);

Criamos uma variável local escolar em bloco incluída dentro de Suportes encaracolados usando a palavra -chave deixar. Podemos até substituir isso, deixe o const. A saída é como:

Se você estiver tentando se referir à variável local de fora da função, você receberá um erro “O status (nome da variável) não está definido”:

Observação: Para se referir ao “status”Variável, estamos chamando o console.registro() função de fora dos colchetes condicionais;

Importância da palavra -chave LET e const enquanto declara variáveis ​​de bloco

Se você declarar uma variável dentro Suportes encaracolados sem usar o deixar e a const Palavras -chave então a variável será declarada como um “Variável global”. Isso se deve ao fato de as palavras -chave terem seus escopos predefinidos. Para saber mais sobre a variável declarando palavras -chave. Para mostrar isso, vamos remover o deixar palavra -chave do trecho de código acima e execute o código.

Como você pode ver claramente, conseguimos acessar essa variável fora do Suportes encaracolados , o que significa que a variável sem as palavras -chave "let" e "const" é definida com um escopo global.

Conclusão

As variáveis ​​são a parte "mais essencial" de uma linguagem de programação. As variáveis ​​têm escopos diferentes, dependendo de como são declarados. Em JavaScript, uma variável pode ser um dos três escopos diferentes, global, local e bloqueado. Aprendemos como esses escopos variáveis ​​funcionam em JavaScript, analisando vários exemplos, até encontramos erros ao tentar acessar variáveis ​​com diferentes escopos.