An Interest In:
Web News this Week
- April 27, 2024
- April 26, 2024
- April 25, 2024
- April 24, 2024
- April 23, 2024
- April 22, 2024
- April 21, 2024
Diferenas entre escopos no JavaScript
Quando programamos em qualquer linguagem importante entender conceitos da linguagem. Neste texto vou trazer de forma breve o conceito de escopos na linguagem Javascript.
O que so escopos?
Escopos diz respeito aos limites que permitem que uma varivel pode ser acessada dentro do cdigo. Ou seja, quem poder acessar o seu contedo para ler ou alterar.
No Javascript temos dois escopos: o escopo global e o escopo local.
Grosso modo, o escopo global relativo a todo o cdigo, tem a sua acessibilidade a todo o fluxo de cdigo, incluindo quando dentro de alguma funo.
Enquanto o escopo local aquele declarando dentro de uma funo. O limite de sua acessibilidade se restringe ao contexto {} da funo no qual foi declarado.
Vejamos um exemplo:
var nome = "Charles"function obterIdade() { var idade = 25}console.log(nome) // Charlesconsole.log(idade) // ReferenceError: idade is not defined
A varivel nome est no escopo global e a varivel idade est no escopo local da funo obterIdade.
Quando tentamos exibir o contedo delas, nome exibida normalmente, porm, para idade, retornando um erro de referncia. Acusa-se que idade no foi definida.
Este erro acontece porque a varivel idade foi definida no escopo local da funo obterIdade, nesse contexto ela s pode ser acessada dentro do domnio local dessa funo. uma limitao acessibilidade da varivel em ralao ao cdigo.
Vejamos um outro exemplo, em que observamos a acessibilidade de uma varivel declarada no escopo local por uma funo.
var nome = "Charles"function obterIdade() { var idade = 25 console.log(nome) // Charles console.log(idade) // 25}obterIdade()
No exemplo acima chamada a funo obterIdade para que seja exibido o contedo das variveis nome e idade. Nesse exemplo, a varivel nome impresso mesmo que declarada fora do escopo da funo em que se encontra.
Isso acontece, porque ela foi declarada no escopo local, que permite que a varivel seja acessada quando no mbito do escopo global ou local de alguma funo.
Assim, quando dizemos que a varivel est declarada no escopo global, significa que sua acessibilidade para todo o cdigo. E quando referimos ao escopo local, que ela s acessvel no contexto da funo que est localizada.
Compreender o conceito de escopos importante, pois permite tenhamos conhecimento da capacidade de acesso, mutabilidade e o controle sobre cdigo que estamos escrevendo.
Nota que aqui me restringi apenas a tratar sobre escopos na linguagem Javascript, no me adentrei na explicao de var, let e const. Em outro momento explicarei as diferenas entre essas formas de declarar uma varivel, bem como o processo de hoisting.
Original Link: https://dev.to/pliniohr/diferencas-entre-escopos-no-javascript-3190
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To