"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Qual é a diferença entre let, var e const em JavaScript: explicação simples

Qual é a diferença entre let, var e const em JavaScript: explicação simples

Publicado em 2024-08-24
Navegar:403

What is the Difference Between let, var, and const in JavaScript : Simple Explanation

Compreendendo a diferença entre let, var e const em JavaScript

Em JavaScript, você pode declarar variáveis ​​​​usando let, var e const. Essas palavras-chave podem parecer semelhantes, mas têm diferenças importantes que podem afetar significativamente o comportamento do seu código. Neste artigo, explicaremos as diferenças entre eles e ajudaremos você a entender quando usar cada um deles.

Principais diferenças entre var, let e const

var deixar const
Introduzido em: Está disponível desde o início do JavaScript. Introduzido em: Adicionado em ES6 (ECMAScript 2015). Introduzido em: Adicionado em ES6 (ECMAScript 2015).
Escopo: com escopo de função. Uma variável var é acessível em toda a função onde é declarada. Escopo: escopo do bloco. Uma variável let só é acessível dentro do bloco {} onde é declarada. Escopo: com escopo de bloco, assim como let.
Comportamento de içamento: variáveis ​​var são içadas e podem ser usadas antes de serem declaradas (embora sejam indefinidas). Comportamento de elevação: permite que as variáveis ​​sejam elevadas, mas não inicializadas, portanto, você não pode usá-las antes da declaração. Comportamento de elevação: Semelhante a let, as variáveis ​​const são içadas, mas não inicializadas, portanto, devem ser declaradas antes do uso.
Re-declaração: Você pode declarar novamente uma variável var no mesmo escopo sem erros. Re-declaração: Você não pode declarar novamente uma variável let no mesmo escopo. Re-declaração: Você não pode declarar novamente uma variável const, semelhante a let.
Reatribuição: Variáveis ​​declaradas com var podem ser reatribuídas. Reatribuição: Variáveis ​​declaradas com let também podem ser reatribuídas. Reatribuição: Variáveis ​​declaradas com const não podem ser reatribuídas; eles são constantes.

Exemplo para ilustrar a diferença

Aqui está um exemplo que mostra como var, let e const se comportam de maneira diferente:

function userDetails(username) {
  if (username) {
    console.log(salary); // Output: undefined (due to hoisting)
    console.log(age); // Error: ReferenceError: Cannot access 'age' before initialization
    console.log(country); // Error: ReferenceError: Cannot access 'country' before initialization

    let age = 30;
    var salary = 10000;
    const country = "USA";

    // Trying to reassign const
    // country = "Canada"; // Error: Assignment to constant variable.
  }

  console.log(salary); // Output: 10000 (accessible due to function scope)
  console.log(age); // Error: age is not defined (due to block scope)
  console.log(country); // Error: country is not defined (due to block scope)
}
userDetails("John");

Explicação do exemplo:

  1. Içando com var: A variável salário declarada com var é içada para o topo da função. É por isso que você pode acessá-lo antes de sua declaração, embora seu valor seja indefinido até que a atribuição aconteça.

  2. Içamento com let e const: As variáveis ​​idade e país também são içadas, mas diferentemente de var, elas não são inicializadas. Isso significa que você não pode acessá-los antes de sua declaração, resultando em um ReferenceError.

  3. Escopo do bloco: Após o bloco if, o salário ainda está acessível devido ao var ter escopo de função. No entanto, tanto a idade (declarada com let) quanto o país (declarado com const) têm escopo de bloco, portanto não podem ser acessados ​​fora do bloco.

  4. Reatribuição com const: Variáveis ​​declaradas com const não podem ser reatribuídas. No exemplo, tentar alterar o valor do país resultaria em um erro.

Quando usar let, var e const

  • Use let quando precisar de uma variável que possa ser reatribuída, mas que só deve ser acessível dentro de um bloco de código específico. Isso é útil para contadores de loop, condicionais ou qualquer variável que será modificada, mas não precisa existir fora de seu bloco.

  • Use var em situações em que você precisa de uma variável que deve ser acessível em toda uma função, embora isso seja menos comum em JavaScript moderno devido à introdução de let e const.

  • Use const quando quiser declarar uma variável que nunca deve ser reatribuída. Isso é ideal para constantes, como valores de configuração ou dados fixos, que devem permanecer iguais em todo o código.

Conclusão

Compreender as diferenças entre var, let e const é essencial para escrever JavaScript moderno e eficiente. let e const são geralmente preferidos a var no código moderno, sendo const a escolha certa para variáveis ​​que não devem ser reatribuídas. Ao escolher a palavra-chave certa, você pode escrever um código mais claro e confiável, menos sujeito a bugs.

Ao usar const para valores que não devem mudar, deixe para variáveis ​​que podem mudar dentro de um bloco, e evitando var na maioria dos casos, seu código JavaScript será mais seguro e fácil de gerenciar.

Declaração de lançamento Este artigo está reproduzido em: https://dev.to/homayunmmdy/what-is-the-difference-between-let-var-and-const-in-javascript-simple-explanation-3pd7?1 Se houver alguma violação , entre em contato com study_golang @163.comdelete
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3