🔥╺╸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!
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).
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!