Javascript: Escopo de variáveis e a palavra-chave var



Este post faz parte de uma série de Posts que decidi criar para compartilhar o conhecimento em JavaScript e para tentar suprir a necessidade atual de bons materiais sobre o assunto no Brasil.

O escopo das variáveis em JavaScript foi escolhido como tema deste primeiro post tanto por ser um assunto de fácil entendimento quanto por ser um dos quesitos para a construção de códigos JavaScript de qualidade.

Introdução

Para quem não sabe o escopo de variáveis nada mais é do que o contexto em que as variáveis estão definidas.

Existem dois tipos básicos de variáveis em Javascript, as locais e as globais:

  • As Locais são validas apenas dentro de uma determinada função.
  • As Globais são validas em qualquer parte da aplicação, isso incluí outros arquivos de script que não o arquivo em que a variável foi definida.

A utilização da palavra-chave var

A utilização do identificador var na declaração de uma variável é imprescindível pois quando não for utilizado e a variável estiver sendo definida dentro de uma função, seu escopo automaticamente será global até o término da função, e isso pode ser perigoso, como veremos mais adiante.

Nos casos abaixo as variáveis serão globais e poderão ser acessadas e modificadas de qualquer parte da aplicação, sendo assim não existe diferença entre utilizar com ou sem a palavra-chave var porém é recomendada a utilização como boa prática.


Abaixo, segue a declaração de variáveis dentro de uma função, com e sem a palavra-chave var, a variável declarada utilizando var será valida apenas dentro da função em que está definida, a variável que não é precedida por var será valida dentro de todas as funções executadas antes do término desta função, e é neste caso que mora o perigo.


O problema mais comum é quando um desenvolvedor declara duas funções que executam iterações em laços for e as duas variáveis de controle tem o mesmo nome e foram declaradas sem a palavra-chave var, como vemos no exemplo abaixo:


Na prática

Abaixo tem um exemplo prático com todas as possibilidades de declaração de variáveis em JavaScript.


Conclusão

Utilize sempre a palavra-chave var.
A diferença entre eu ter dito isso no inicio ou dizer aqui é que agora você sabe o motivo de utilizar var precedendo o nome da sua variável.

Caso você tenha alguma sugestão de assunto que gostaria de ver aqui, pode postar como comentário no Blog, terei o prazer de auxiliar no que for possível.

Abraço e até a próxima,

Bookmark and Share

About Felipe Plets

Desenvolvedor Web desde 2000, iniciei meus estudos na área com 15 anos, quando utilizava o conhecimento em HTML e JavaScript apenas para criar páginas pessoais para mim e para meus amigos. Não demorou muito para que o hobbie se tornasse fonte de sustento. Hoje trabalho profissionalmente como Coordenador de Desenvolvimento Web utilizando tecnologia de ponta e as melhores práticas e técnicas disponíveis no mercado. Você deveria me seguir no Twitter!
This entry was posted in Javascript and tagged . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>