# O que é uma variável em JavaScript?
- [ ] Uma função que executa um bloco de código
- [X] Um nome que guarda um valor no programa
- [ ] Um tipo de laço de repetição
- [ ] Um comentário no código
> Dica: slide 2
# Qual é a diferença entre declarar e atribuir uma variável?
- [X] Declarar cria o nome; atribuir coloca (ou troca) o valor
- [ ] Declarar e atribuir são a mesma coisa
- [ ] Atribuir cria o nome; declarar coloca o valor
- [ ] Só é possível atribuir depois de usar a variável
> Dica: slide 3
# Qual é o valor de uma variável declarada mas não atribuída?
- [ ] `null`
- [ ] `0`
- [X] `undefined`
- [ ] Uma string vazia
> Dica: slide 3
# Sobre os nomes de variáveis em JavaScript:
- [ ] `idade` e `Idade` são a mesma variável
- [X] JavaScript é case-sensitive: `idade` e `Idade` são variáveis diferentes
- [ ] Nomes de variáveis podem começar com qualquer caractere
- [ ] Nomes de variáveis não podem conter letras maiúsculas
> Dica: slide 4
# Quando devemos usar `let` para declarar uma variável?
- [ ] Quando o valor nunca deve mudar
- [X] Quando o valor da variável pode mudar
- [ ] Somente dentro de funções
- [ ] Somente para declarar constantes matemáticas
> Dica: slide 5
# Qual é o escopo de uma variável declarada com `let` dentro de um bloco `if`?
- [ ] Escopo global, acessível em qualquer lugar do programa
- [ ] Escopo de função, acessível em toda a função
- [X] Escopo de bloco, só existe dentro das chaves `{ }` do `if`
- [ ] Não possui escopo, é sempre `undefined` fora do `if`
> Dica: slide 5
# Sobre a declaração com `const`:
- [X] É obrigatório atribuir um valor na própria declaração
- [ ] É possível declarar sem atribuir valor
- [ ] Permite reatribuir um novo valor posteriormente
- [ ] Não possui escopo de bloco
> Dica: slide 7
# Considere: `const pessoa = { nome: "Ana" }; pessoa.nome = "Bia";`. O que ocorre?
- [ ] Gera erro, pois `const` impede qualquer alteração no objeto
- [X] É permitido, pois `const` impede apenas a troca da referência, não das propriedades
- [ ] O valor de `pessoa` é reatribuído para `{ nome: "Bia" }`
- [ ] `pessoa` deixa de ser uma constante após a alteração
> Dica: slide 8
# Qual é a principal diferença entre `var` e `let`/`const` em relação ao escopo?
- [ ] `var` possui escopo de bloco, assim como `let` e `const`
- [X] `var` não respeita escopo de bloco; a variável "vaza" para a função ou escopo global
- [ ] `let` e `const` não possuem escopo, apenas `var` possui
- [ ] Não há diferença de escopo entre eles
> Dica: slide 9
# Qual é a boa prática recomendada ao declarar variáveis em JavaScript?
- [ ] Usar `var` por padrão, pois é mais compatível
- [ ] Usar `let` para todo tipo de variável, mesmo sem necessidade de reatribuição
- [X] Preferir `const` por padrão e usar `let` somente quando precisar reatribuir
- [ ] Evitar `const` e `let`, usando apenas `var`
> Dica: slide 11