Variáveis e Constantes - TypeScript

Para armazenar dados em um programa no TypeScript, assim como em muitas outras linguagens de programação, usamos variáveis.

Para declarar variáveis, como no JavaScript, você pode utilizar a palavra-chave var:

var z; // variável z

Outra maneira de declarar variáveis é com a palavra-chave let, que foi introduzida no JavaScript com o padrão ES 2015:

let z;

O uso de let é mais recomendado, pois evita alguns problemas associados à declaração de variáveis. Em particular, com var, podemos declarar mais de uma vez uma variável com o mesmo nome:

var x = "hello";
console.log(x);
var x = "work";
console.log(x);

Em um programa grande, pode ser difícil acompanhar se uma variável já foi declarada, o que pode causar erros. O uso de let resolve esse problema:

let x = "hello";
console.log(x);
let x = "work"; // isso causará um erro, pois a variável x já foi declarada
console.log(x);

O mesmo ocorre se declararmos uma variável com o mesmo nome duas vezes, mas usando as palavras-chave let e var:

let x = "hello";
console.log(x);
var x = "work"; // isso causará um erro, pois a variável x já foi declarada
console.log(x);

Uma vez que a variável é declarada, podemos atribuir valores a ela e, ao longo do programa, alterar esse valor:

let z = 6;
z = 8;

Além das variáveis, o TypeScript também possui constantes: para elas, o valor pode ser atribuído apenas uma vez, e não pode ser modificado ao longo do programa. Para declarar constantes, usamos a palavra-chave const:

const z = 6;
z = 8;  // isso causará um erro — não é permitido alterar o valor de uma constante

Escopo de Variáveis e Constantes

Como mencionado, não podemos declarar mais de uma vez uma variável (usando let) ou uma constante (usando const) com o mesmo nome no mesmo escopo. O escopo pode ser local, definido por um bloco de código delimitado por chaves { código }, ou global, fora de qualquer bloco de código.

Variáveis e constantes declaradas em um escopo interno podem ocultar aquelas com o mesmo nome no escopo externo. Por exemplo:

let x = 10; 
{
    let x = 25;
    console.log(x); // 25
}
console.log(x); // 10

Aqui, temos duas variáveis com o mesmo nome. No entanto, não há erro, pois elas estão em escopos diferentes. A variável let x = 10 está no escopo global, enquanto let x = 25 está em um bloco de código mais interno, no escopo local, e oculta a variável global. O resultado no console será:

25
10

O mesmo se aplica quando as variáveis são declaradas em escopos locais aninhados:

let x = 10;
{
    let x = 25;
    {
        let x = 163;
        console.log(x); // 163
    }
    console.log(x); // 25
}
console.log(x); // 10

Diferenças entre var e let/const

Aqui está um resumo das diferenças entre var e let/const:

varlet/const
Pode ser acessada fora do escopo em que foi declarada.Só pode ser acessada dentro do escopo em que foi declarada.
{ 
    var x = 94; 
} 
console.log(x); // funciona
{ 
    let x = 94; 
} 
console.log(x); // erro
Pode ser utilizada antes da sua declaração.Só pode ser utilizada após a sua declaração.
console.log(x); // undefined, mas funciona 
var x = 76;
console.log(x); // erro 
let x = 76;
Pode ser declarada várias vezes no mesmo escopo.Pode ser declarada apenas uma vez no mesmo escopo.
var x = 72; 
console.log(x); // 72 
var x = 24; // funciona
console.log(x); // 24
let x = 72; 
console.log(x); // 72 
let x = 24; // erro
console.log(x);
Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com