Movatterモバイル変換


[0]ホーム

URL:


Skip to content
DEV Community
Log in Create account

DEV Community

Plínio Ribeiro
Plínio Ribeiro

Posted on

     

Diferenças 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 são escopos?

Escopos diz respeito aos limites que permitem que uma variável pode ser acessada dentro do código. Ou seja, quem poderá acessar o seu conteúdo 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 código, tem a sua acessibilidade a todo o fluxo de código, incluindo quando dentro de alguma função.

Enquanto o escopo local é aquele declarando dentro de uma função. O limite de sua acessibilidade se restringe ao contexto “{}” da função no qual foi declarado.

Vejamos um exemplo:

varnome="Charles"functionobterIdade(){varidade=25}console.log(nome)// Charlesconsole.log(idade)// ReferenceError: idade is not defined
Enter fullscreen modeExit fullscreen mode

A variávelnome está no escopo global e a variávelidade está no escopo local da função “obterIdade”.

Quando tentamos exibir o conteúdo delas,nome é exibida normalmente, porém, paraidade, é retornando um erro de referência. Acusa-se queidade não foi definida.

Este erro acontece porque a variávelidade foi definida no escopo local da função “obterIdade”, nesse contexto ela só pode ser acessada dentro do domínio local dessa função. É uma limitação à acessibilidade da variável em ralação ao código.

Vejamos um outro exemplo, em que observamos a acessibilidade de uma variável declarada no escopo local por uma função.

varnome="Charles"functionobterIdade(){varidade=25console.log(nome)// Charlesconsole.log(idade)// 25}obterIdade()
Enter fullscreen modeExit fullscreen mode

No exemplo acima é chamada a função“obterIdade” para que seja exibido o conteúdo das variáveisnome eidade. Nesse exemplo, a variávelnome é impresso mesmo que declarada fora do escopo da função em que se encontra.

Isso acontece, porque ela foi declarada no escopo local, que permite que a variável seja acessada quando no âmbito do escopo global ou local de alguma função.

Assim, quando dizemos que a variável está declarada no escopo global, significa que sua acessibilidade é para todo o código. E quando referimos ao escopo local, é que ela só acessível no contexto da função que está localizada.

Compreender o conceito de escopos é importante, pois permite tenhamos conhecimento da capacidade de acesso, mutabilidade e o controle sobre código que estamos escrevendo.

Nota que aqui me restringi apenas a tratar sobre escopos na linguagem Javascript, não me adentrei na explicação devar,let econst. Em outro momento explicarei as diferenças entre essas formas de declarar uma variável, bem como o processo dehoisting.

Top comments(0)

Subscribe
pic
Create template

Templates let you quickly answer FAQs or store snippets for re-use.

Dismiss

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment'spermalink.

For further actions, you may consider blocking this person and/orreporting abuse

I'm brazilian student.
  • Joined

More fromPlínio Ribeiro

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

Log in Create account

[8]ページ先頭

©2009-2025 Movatter.jp