Bom dia Alura. Após assistir os vídeos e ler alguns materiais sobre JavaScript, continuo com dúvidas sobre alguns conceitos como: variáveis, as declarações (var, let e const), o hoisting. Podem me ajudar?
Bom dia Alura. Após assistir os vídeos e ler alguns materiais sobre JavaScript, continuo com dúvidas sobre alguns conceitos como: variáveis, as declarações (var, let e const), o hoisting. Podem me ajudar?
Variáveis são espaços na memória para guardar dados. Em JavaScript, usamos var
, let
ou const
para criar variáveis.
let
: Pode mudar o valor e é limitada ao escopo de bloco, ou seja, só existe dentro de {} onde foi declarada (como em if
, for
, funções, etc).
Observação: é a forma mais segura e recomendada para declarar variáveis que mudam de valor.
const
: NÃO pode mudar o valor. Uma vez atribuído, o valor não pode ser alterado exceto no caso de objetos e arrays, onde o conteúdo pode ser alterado, mas não a referência (se não viu sobre isso ainda, verá no futuro), e também é limitada ao escopo de bloco.
Observação: use const
sempre que a variável não precisar ser reatribuída. É uma boa prática para garantir segurança no código.
var
: Pode mudar o valor e é limitada ao escopo de função, ou seja, só existe dentro da função onde foi declarada.
Observação: var é depreciaded porque pode causar comportamentos confusos, especialmente em blocos de código e laços. Em todo caso, não use-o
É o comportamento do JavaScript de "levantar" as declarações de variáveis e funções para o topo do código durante a execução.
var
: a variável é içada com valor undefined
.console.log(a); // undefined
var a = 5;
let
e const
: a variável é içada, mas não pode ser usada antes da declaração. Isso gera erro.console.log(b); // Erro!
let b = 10;
Não comprendo muito sobre Hoisting, mas esperado ter ajudado.