Falta pouco!

0 dias

0 horas

0 min

0 seg

1
resposta

Declaração de variaveis em javascript - Boas praticas!

Ola amigos desenvolvedores e companheiros de curso.
As boas práticas para declaração de variáveis envolvem principalmente o uso de const e let ao invés de vare isso se deve a questões de escopo, legibilidade e manutenção do código, além de evitar problemas que podem surgir com o uso incorreto ou desnecessário do var. Vamos explorar as boas práticas e as razões pelas quais devemos seguir essas orientações, além de algumas curiosidades sobre o tema.

1. Evitar o uso de var

Historicamente, o var foi a primeira palavra-chave usada para declarar variáveis em JavaScript. No entanto, o var tem um comportamento peculiar devido ao seu escopo, que é global ou de função, e não de bloco. Isso pode levar a erros inesperados em determinadas situações.
Exemplo de problema com var:

function exemplo() {
  if (true) {
    var nome = "José";
  }
  console.log(nome); // Saída: "José"
}

Neste caso, a variável nome é acessível fora do bloco if, já que o var não respeita o escopo de bloco, mas o escopo de função.
Isso causa problemas, já que outras partes do código podem acessar e modificar variáveis inesperadamente.

2. Uso de let e const

Ambas têm escopo de bloco, o que significa que a variável fica restrita ao bloco de código onde foi definida (como dentro de um if, for, etc.). Isso ajuda a evitar o "vazamento" de variáveis para o escopo global ou para outras funções.

let

A palavra-chave let é usada quando você precisa de uma variável cujo valor pode ser alterado durante a execução do código.
Exemplo com let:

let nome = "José";
nome = "Maria"; // A variável pode ser reatribuída
console.log(nome); // Saída: "Maria"

Aqui, a variável nome pode ser reatribuída, pois let permite mudanças no valor da variável.

const

A palavra-chave const é usada para declarar variáveis que não podem ser reatribuídas após a inicialização. Vale lembrar que a imutabilidade de const se refere apenas à atribuição da variável.
Se a variável for um objeto ou um array, os elementos ou propriedades do objeto ainda podem ser modificados.
Exemplo com const:

const sobrenome = "Silva";
// sobrenome = "Costa"; // Isso geraria um erro
console.log(sobrenome); // Saída: "Silva"

Embora const evite a reatribuição do valor da variável, um objeto atribuído a const pode ter suas propriedades modificadas.

const pessoa = { nome: "José", idade: 30 };
pessoa.idade = 31; // Isso é permitido
console.log(pessoa.idade); // Saída: 31

3. Evitar a omissão de var, let ou const

Outra boa prática é evitar declarar variáveis sem utilizar nenhuma palavra-chave (como var, let ou const). Isso pode acontecer em códigos mais antigos, mas hoje em dia é considerado um erro. Quando você deixa uma variável sem declaração explícita, ela é automaticamente criada no escopo global (se estiver no nível superior), o que pode ser perigoso e difícil de controlar.
Exemplo de erro:

function exemplo() {
  nome = "José";  // Variável sem declaração
  console.log(nome); // Saída: "José"
}
exemplo();
console.log(nome); // Saída: "José", porque `nome` virou uma variável global

Esse tipo de prática pode criar variáveis globais não intencionais, o que torna o código mais propenso a falhas difíceis de diagnosticar, além de poder levar a problemas de sobrescrita de variáveis.

4. Definindo o escopo de variáveis

Definir corretamente o escopo das variáveis é uma das melhores práticas em JavaScript. Com let e const, conseguimos restringir as variáveis ao escopo de bloco, evitando problemas de "vazamento" de variáveis para escopos mais amplos (como o escopo global ou de função).

function exemplo() {
  if (true) {
    let nome = "José"; // Escopo de bloco
    console.log(nome); // Saída: "José"
  }
  // console.log(nome); // Erro: nome não está acessível fora do bloco
}
exemplo();

continua....

1 resposta

...

5. Boas práticas gerais

  • Prefira const quando possível: Quando souber que o valor de uma variável não será alterado, use const. Isso ajuda a prevenir erros, tornando o código mais previsível.
  • Use let quando o valor pode mudar: Quando for necessário reatribuir o valor da variável, use let. Isso mantém o código limpo e flexível.
  • Mantenha a consistência: Tente sempre usar let e const no seu código e evite o uso de var. Isso facilita a leitura do código e reduz o risco de erros.

Curiosidades sobre o uso de let, const e var:

  1. Hoisting: Tanto var quanto let e const sofrem "hoisting" (elevação), ou seja, as declarações das variáveis são movidas para o topo do seu escopo. No entanto, enquanto as variáveis declaradas com var são inicializadas com undefined, as variáveis declaradas com let e const não são inicializadas até o ponto em que aparecem no código, gerando um erro caso tentem ser acessadas antes.
    Exemplo com var:
    console.log(x); // undefined
    var x = 10;
    
    Exemplo com let e const:
    console.log(x); // Erro de referência
    let x = 10;
    
  2. Bloco de código: Antes do ES6, não havia distinção clara entre o escopo de uma função e o escopo de um bloco (por exemplo, dentro de um if). Isso causava alguns bugs difíceis de identificar. Com let e const, você pode limitar as variáveis ao escopo de um bloco, o que facilita a escrita de código mais seguro.
  3. Compatibilidade com navegadores antigos: Embora let e const sejam amplamente suportados em navegadores modernos, se você precisar de compatibilidade com navegadores mais antigos (especialmente o Internet Explorer), talvez precise usar var ou transpiladores como o Babel.

Conclusão

As boas práticas na declaração de variáveis em JavaScript envolvem o uso de let e const para garantir um código mais seguro, legível e fácil de manter. A adoção desses métodos ajuda a evitar erros comuns associados ao var e à omissão da declaração de variáveis. Além disso, o uso correto de escopos e o entendimento do comportamento de hoisting são cruciais para escrever códigos eficientes e robustos. Ao seguir essas boas práticas, você estará criando códigos mais previsíveis e menos propensos a erros, garantindo uma melhor experiência de desenvolvimento.
E sempre bom lembrar que strings(palavras,caracteres ou textos) sempre devem estar envolvidos em aspas simples ou duplas.
Bons estudos e não deixe de comentar.
Obrigado.