Executando verificação de segurança...
7

🔥╺╸Aprendendo JavaScript | Variáveis #5

Boa boa! Após estudar JavaScript ontem, decidi hoje que iria seguir algum curso para descobrir novas funcionalidades. Com isso acabei caindo em um canal do Youtube que possui diversos cursos gratuitos, o CFBCursos. O curso conta com muitos conteúdos, então vou seguir as aulas utilizando um método de estudo sugerido em minha primeira postagem, se não me falha a memória.

O método

1- Assistir a aula inteira para ter uma visão geral do que será desenvolvido.
2- Assistir e ir fazendo passo a passo com o vídeo e tomando notas.
3- Tentar fazer sozinho sem consultar suas notas ou o material original. Repetir este passo até conseguir.
4- Tenta aplicar o que aprendeu em outro projeto fora o projeto/ cenário do curso.

Farei isso, então acho que agora posso de fato começar a aprender JavaScript!

Treino 001 | Variáveis

Existem três tipos de variáveis em JavaScript.

  • var
  • let
  • const

var

Após declarada e inicializada, pode ter seu valor alterado futuramente. Quando declarada dentro do escopo de um bloco de código, pode ser acessada no escopo global.

// var em ação
if (2 > 1) {
  var doisEhMaiorQueUm = true;
}
console.log(doisEhMaiorQueUm); 
// Output: true

let

Após declarada e inicializada, como a variável var, pode ter seu valor alterado posteriormente. O que a diferencia de sua "prima" é o fato de que, ao declarar uma variável em um escopo inferior, não pode ser acessada em um escopo superior.

// let em ação
if ("Oi" === "Oi") {
  let saudacao = "Oi"
}
console.log(saudacao)
// Output: ReferenceError: saudacao is not defined

const

Após declarada e inicializada, uma constante não pode ser alterada. É utilizada para manter valores constantes durante uma aplicação, como por exemplo a data de nascimento de algum usuário. É imutável, certo?

// const em ação
const anoNascimento = 2007
anoNascimento = 1999
// Output: TypeError: Assignment to constant variable.

Conclusão

Após essa curto post, descobri alguns funcionamentos das variáveis em JavaScript. Não entendo muito a fundo como o valor é armazenado na memória de um computador, então pretendo assistir alguns vídeo sobre o assunto antes de prosseguir. Obrigado por ler até aqui e, por favor, se tiver alguma observação, crítica ou dica para fazer, faça! É de grande ajuda. Até mais!

Carregando publicação patrocinada...
4

Atenção com const: ela protege apenas o nível superior da variável. Em arrays ou objetos, você pode modificar suas propriedades internas:

const teste = {
  propriedade: 'valor'
}

teste.propriedade = 123;

console.log(teste.propriedade); // 123
1
3

Um detalhe sobre o var: nem sempre ele cria a variável no escopo global. Dentro de uma função, o escopo fica restrito àquela função. Exemplo:

function f() {
    var x = 1;
    console.log('dentro da função', x);
}

f(); // imprime "dentro da função 1"

console.log('fora da função', x); // ReferenceError: x is not defined

Note que x não existe fora da função, e dá erro ao tentar acessá-la.


Outro detalhe é que o var permite a "re-declaração", sobrescrevendo o anterior. Já o let cria outra variável para cada escopo:

var x = 1;
let y = 2;
if (x > 0) {
  var x = 3;
  let y = 4;
  console.log(x, y); // 3 4
}

console.log(x, y); // 3 2

Repare que dentro do if, a alteração feita em x também o afetou fora deste bloco. Já o let criou na verdade outra variável (com o mesmo nome y), tendo somente o bloco do if como escopo. Por isso a variável y externa continua inalterada.

Existem outras diferenças e detalhes importantes, ver mais aqui e claro, na documentação (aqui, aqui e aqui).

1

Se bem entendi, a quando re-declaro uma var dentro de um bloco de código, ele aloca o valor no mesmo local da memória. Já com let, o valor é alocado é um novo espaço. Vou dar uma lida na documentação, obrigado!

1

Olá irmão, é bom reforçar um ponto muito importante de var:

Simplesmente, NÃO use var, seu uso é desencorajado em favor de let e const, que foram introduzidos no ECMAScript de 2015 (ES6). Essas oferecem maior controle de escopo e evitam alguns dos problemas associados ao uso de var, como:

  • Escopo de função vs. Escopo de bloco: Variáveis declaradas com var têm escopo de função, enquanto let e const têm escopo de bloco (como dentro de um if ou for). Isso pode evitar bugs inesperados.

  • Hoisting: Variáveis declaradas com var são elevadas (hoisted) ao topo de seu escopo, mas não são inicializadas, o que pode levar a comportamentos imprevisíveis.

  • Reatribuição e redeclaração: let e const previnem a redeclaração acidental de variáveis, o que é permitido com var.

Por esses motivos, é recomendado o uso de let para variáveis que terão seu valor alterado e const para aquelas que não serão modificadas. Atualmente você só achará códigos antigos usando var ou em exemplos de documentações desatualizadas.

Sempre use const e let, não tem nada que o var faça que você não conseguirá fazer sem ele.

Força nos estudos mano!