Diferenças entre var, let, e const na linguagem Javascript

7547 단어
No post anterior eu expliquei sobre o conceito de escopos na linguagem Javascript. Neste trarei breves notas sobre a diferença na forma como declaramos variáveis ​​no Javascript.

Qual é a diferença de clarar uma variável como var, let ou const.

Quem já programa na linguagem a um bom tempo, a regra era iniciar uma variável com var. Porém, após o ES2015 (ES6), novas formar surgiram, quais sejam: let e const.

Variáveis ​​declaradas com var



Um aspecto Importante quando utilizamos var é que ele tem escopo global e local( aqui ). Como vimos quando estava falando de escopo, é possível acessar uma variável inicializada fora do escopo que a esta invocando.

예를 들면 다음과 같습니다.

var nome = "Heliot"

function pequi() {
    console.log(nome) // Heliot
}

pequi()


No example acima, quando chamamos a função pequi(), ela consegue acessar o conteúdo da variável nome e exibir o seu conteúdo. Isto se dá pela razão de possuir o escopo global, ou seja, ela pode ser utilizada em várias partes do nosso código.

Impera anotar acerca da utilização de var é o hoisting realizado pela linguagem. Contudo, este assunto eu tratarei no próximo texto.

Outro aspecto importante da utilização de var é possibilidade de alterar o conteúdo da variável.

let nome = "Heliot"

function pequi() {
    nome = "Larissa"
    console.log(nome) // Larissa
}

pequi()


Quando chamamos a função pequi(), alteramos o valor da variável sem nenhum erro. Dado o seu escopo global de acessibilidade de leitura e modificação.

Variáveis ​​declaradas com let



Let está sendo a forma preferida de declarar variáveis. Se diferencia de var em razão do seu escopo ser de bloco e não global.

당신은 무엇입니까? Um bloco é um trecho de código iniciado e fechado por chaves “{}”. O que estiver nesse contexto é um bloco especifico.

Quando iniciamos uma variável com let em um bloco, sua acessibilidade se é limitada a este bloco. 예를 들어 Vejamos.

let n = 4;

if (n > 3) {
    let ola = "Olá para todos!";
    console.log(ola); // Olá para todos!
}

console.log(ola) // ReferenceError: ola is not defined


Veja que quando tentamos tentar acessar o conteúdo de ola fora do bloco é retornado um erro de referência.

이것은 var.

Olha 아웃트로 예시.

let n = 4;

if (n > 3) {
    var ola = "Olá para todos!";

    console.log(ola); // Olá para todos!
    }

console.log(ola) // Olá para todos!


Já nesse exemplo foi possível acessar o conteúdo de ola. Isto se dá pelo hoisting, que explicarei no próximo texto.

Está limitação de acessibilidade é a principal diferença entre declara com var ou com let.

Quando a possibilidade de sofrer alterações, let permite que sejam realizadas. 베자:

let n = 4;

if (n > 3) {
    n = 0
}
console.log(n) // 0


Variáveis ​​declaradas com const



A caraterística marcante da utilização de const é a sua imutabilidade. Quando declaramos variável com const ela não poderá ser alterar ou redeclarada.

const a = 1
a = 2 // TypeError: Assignment to constant variable.
console.log(a)


No example acima, quando tentamos modificar o valor de a, é retornado um erro de tipo, que impede a alteração da variável já declarada.

결론



Neste texto eu trouxe breves notas da diferença entre a utilização de var, let e const. Sendo essas últimas introduzidas pelo ES2015(ES6).

가장 중요한 점은 버그를 방지할 수 있는 기회를 제공하는 것입니다.

좋은 웹페이지 즐겨찾기