Skip to content

Instantly share code, notes, and snippets.

@vinicius73
Last active September 30, 2019 13:52
Show Gist options
  • Save vinicius73/ae0abbd7155fa80168604a0ad5ab824f to your computer and use it in GitHub Desktop.
Save vinicius73/ae0abbd7155fa80168604a0ad5ab824f to your computer and use it in GitHub Desktop.
var, let e const no JavaScript

var, let e const

Em JavaScript há uma comportamento chamado hoisting. O uso de var trazia algumas pegadinhas, como por exemplo, declarar a mesma variavel 2x usando var

var abc = 25
// ...
// ...
var abc = 99

Nenhum erro era disparado com isso, e vários efeitos colaterais eram gerados.

Com a versão ES2015 do JavaScript, duas novas keyworks foram adcionadas: let e const Elas vieram para corrigir or problemas de var e adcionar outros comportamentos, var passou a ser tratado como depreciado, sendo altamente desencorajado o seu uso.

Basicamente let subistitui os comportamentos esperados quando se usavavar, adcionando alguns comportamentos, como a validação caso a mesma variável seja fosse declarada mais de 1x.

const inicialmente pode enganar os mais desavisados. Uma variável declarada com const não pode ter seu valor reatribuido, porém não garante imutabilidade.

Objetos por exemplo, podem ter seus valores modificados, oque nao pode ser feito é a reatribuição da variável.

Em JavaScript tudo são objetos (exeto undefined), com exceção de números e strings (que são imutáveis) todos os objetos são passados como referencia. Ao usar const você garante que a váriavel ligada ao obeto não possa ser reassinada por outro valor

const abc = { x: 1 }
abc.x = 2
abc = { y: 3 } // erro

Atualmente a recomendação é sempre usar const e evitar let, isso deixa o código mais previsivel e menos suscetível a bugs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment