Qual é a diferença entre var, let e const em javascript?

Qual é a diferença entre var, let e const em javascript?

Uma declaração variável está simplesmente dizendo ao computador que existe uma variável e com que valor deve começar. Semelhante a outras linguagens de programação, o JavaScript também permite a declaração de variáveis.

Existem três palavras -chave no JavaScript que podem ser usadas para declarar variáveis: deixe, var e const. Cada palavra -chave tem regras e implicações diferentes sobre como as variáveis ​​que eles criam podem ser usadas.

  1. deixar: A palavra-chave let declara uma variável local escolar em bloco, opcionalmente inicializando-a em um valor.

    Escopo de bloco significa que a variável está disponível apenas dentro do bloco em que foi declarado, o que geralmente é denotado pelos aparelhos encaracolados .

  2. var: A palavra-chave Var declara uma variável escolar ou global, opcionalmente inicializando-a em um valor.

    Escopo de função significa que a variável está disponível apenas dentro da função em que foi declarada. Variáveis ​​globais estão disponíveis em todo o seu código.

  3. const: A palavra-chave const declara uma variável constante imutável e esculpida em bloco, i, i.e. uma variável que não pode ser transferida.

    As constantes também são chamadas de "variáveis ​​imutáveis", mas isso é um pouco impróprio, pois são realmente variáveis ​​- apenas as que não podem ser transferidas.

Qual é a diferença entre var, let e const?

A palavra -chave Var é a maneira mais antiga de declarar variáveis ​​no JavaScript e é suportada por todos os navegadores. As palavras -chave LET e const são novas adições ao idioma e não são suportadas por navegadores mais antigos.

Se você precisar suportar navegadores mais antigos, você pode usar o VAR em vez de deixar ou const. Se você não precisar apoiar os navegadores mais antigos, pode usar Let ou Const. Se você deseja que sua variável seja imutável, use const.

aqui estão alguns exemplos:

var x = 1; Seja y = 2; const z = 3; x = 4; // ok y = 5; // ok z = 6; //Erro
1234567var x = 1; vamos y = 2; const z = 3; x = 4; // ok y = 5; // ok z = 6; //Erro

Como você pode ver, var e deixam variáveis ​​podem ser transferidas, mas variáveis ​​constantes não podem.

Outra diferença entre var e let/const é que as variáveis ​​VAR são escondidas de função, enquanto as variáveis ​​let e const são escondidas em bloco.

Isso significa que as variáveis ​​VAR estão disponíveis apenas dentro da função em que foram declaradas. Por exemplo:

function foo () var x = 1; foo (); console.log (x); // ReferenceError: X não está definido
123456function foo () var x = 1; foo (); console.log (x); // ReferenceError: X não está definido

Por outro lado, as variáveis ​​Let e ​​const estão disponíveis apenas dentro do bloco em que foram declaradas. Por exemplo:

function foo () vamos y = 2; const z = 3; foo (); console.log (y); // ReferenceError: y não é console definido.log (z); // ReferenceError: Z não está definido
12345678function foo () vamos y = 2; const z = 3; foo (); console.log (y); // ReferenceError: y não é console definido.log (z); // ReferenceError: Z não está definido

Então, para resumir, as principais diferenças entre var, let e const são:

  • O VAR é escopo de funções enquanto Let e ​​Const são escondidos em bloco.
  • variáveis ​​VAR podem ser transferidas enquanto as variáveis ​​deixadas e constantes não podem.
  • As variáveis ​​Var são declaradas usando a palavra -chave Var enquanto as variáveis ​​Let e ​​Const são declaradas usando as palavras -chave LET e const, respectivamente.
  • Variáveis ​​constantes são imutáveis ​​enquanto as variáveis ​​LET e VAR não são.