let
e const
Com a introdução do ECMAScript 6 (ES6) em 2015, JavaScript recebeu atualizações significativas, incluindo novas maneiras de declarar variáveis que proporcionam mais controle sobre o escopo e a mutabilidade dos dados: let
e const
. Estas adições ajudam a escrever um código mais seguro e previsível.
let
:
var
, que tem escopo de função, let
possui escopo de bloco, o que significa que a variável só pode ser acessada dentro do bloco ({}
) em que foi declarada.let
não são içadas ao topo de seu bloco, o que ajuda a evitar erros sutis. A variável só existe a partir do ponto em que é definida no bloco.Exemplo de Uso:
if (true) {
let exemplo = "Olá, Mundo!";
console.log(exemplo); // "Olá, Mundo!"
}
// console.log(exemplo); // Erro: exemplo is not defined
const
:
const
é usado para declarar variáveis que não devem ser reatribuídas após sua inicialização. Embora o valor de uma constante não possa ser alterado, se o valor for um objeto ou array, seus atributos ou elementos ainda podem ser modificados.let
, const
também possui escopo de bloco e não é içado.Exemplo de Uso:
const PI = 3.14;
// PI = 3.14159; // Erro: Assignment to constant variable.
const car = { type: "Fiat", model: "500" };
car.color = "white"; // Permitido: adicionar nova propriedade ao objeto
O uso de let
e const
proporciona um melhor controle sobre as variáveis, reduzindo erros comuns associados a var
, como o problema do escopo que pode levar a comportamentos inesperados em loops e funções. A introdução dessas palavras-chave representa um avanço importante na forma como o JavaScript lida com informações que mudam ou permanecem constantes, contribuindo para códigos mais robustos e fáceis de manter.
Template literals são uma nova sintaxe em ES6 para criar strings complexas de maneira mais legível e eficiente. Eles são delimitados por acentos graves (```) em vez de aspas simples ou duplas, e permitem a interpolação de expressões, incluindo variáveis, dentro de strings.
Interpolação de Expressões:
${expression}
. Isso elimina a necessidade de concatenar strings com o operador +
, tornando o código mais limpo e fácil de entender.Exemplo:
let nome = "Ana";
let saudacao = `Olá, ${nome}! Como você está?`;
console.log(saudacao); // Saída: Olá, Ana! Como você está?
Strings Multilinhas:
Exemplo:
let poema = `Roses are red,
Violets are blue,
ES6 is awesome,
And so are you!`;
console.log(poema);
Expressões Complexas:
Exemplo:
let a = 10;
let b = 20;
console.log(`A soma de ${a} e ${b} é ${a + b}.`); // Saída: A soma de 10 e 20 é 30.