> For the complete documentation index, see [llms.txt](https://favelaware.gitbook.io/favelaware/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://favelaware.gitbook.io/favelaware/7-javascript/7.2-variaveis.md).

# 7.2 - Variáveis

🧠 Variáveis em JavaScript: Guardando Informações!

## 🧠 Variáveis em JavaScript: Guardando Informações!

### 📦 O que é uma variável?

Pensa numa **caixinha** onde você pode guardar algo para usar depois. É isso que uma **variável** faz em JavaScript! Com ela, você pode **guardar valores** como nomes, números, resultados de cálculos e muito mais.

Você pode pensar assim:

```javascript
let nome = "Maria";
```

Aqui, estamos dizendo:\
👉 “JavaScript, guarda o valor **Maria** na caixinha chamada **nome**!”

***

### ✏️ Como criar variáveis?

Em JavaScript, temos três jeitos principais de criar variáveis:

#### 1. `var` (o antigão 🕰️)

```javascript
var idade = 18;
```

* Usado há muitos anos, mas hoje em dia **não é mais recomendado**.
* Pode causar problemas em códigos maiores.

#### 2. `let` (o mais usado hoje 🧰)

```javascript
let cidade = "Recife";
```

* Ideal para variáveis que **podem mudar**.
* Boa escolha para a maioria dos casos.

#### 3. `const` (pra quando não muda nunca 🔒)

```javascript
const planeta = "Terra";
```

* Usado quando o valor **não vai mudar**.
* Mais seguro em muitas situações.

***

### ⚠️ Regras para nomear variáveis

Antes de sair criando variáveis, é bom seguir algumas **regrinhas**:

✅ Pode conter letras, números, `$` e `_`\
✅ Pode começar com **letra**, `$` ou `_`\
🚫 **Não pode** começar com número\
🚫 **Não pode** ter espaços ou caracteres especiais\
🚫 **Não pode** usar palavras reservadas (como `let`, `if`, `function`, etc.)

Exemplos válidos:

```javascript
let meuNome = "João";
let _idade = 20;
let $salario = 1500;
```

Exemplos inválidos:

```javascript
let 1nome = "Ana";      // ❌ começa com número
let meu-nome = "Ana";   // ❌ contém hífen
```

***

### 🎯 Diferença entre `let` e `const`

| Tipo    | Pode mudar? | Quando usar?             |
| ------- | ----------- | ------------------------ |
| `let`   | ✅ Sim       | Quando o valor vai mudar |
| `const` | ❌ Não       | Quando o valor é fixo    |

Exemplo com `let`:

```javascript
let pontos = 0;
pontos = 10;  // mudamos o valor depois
```

Exemplo com `const`:

```javascript
const cpf = "123.456.789-00";
cpf = "987.654.321-00"; // ❌ erro! Não pode mudar
```

***

### 💡 Dica importante: sempre comece com `let` ou `const`!

Evite usar `var` — ela pode causar confusão. Hoje em dia, a maioria dos desenvolvedores usa `let` e `const` para manter o código **mais seguro e organizado**.

***

### 🧪 Teste rápido!

Dá uma olhada nesse código e tenta adivinhar o que ele imprime:

```javascript
let nome = "Lucas";
const idade = 22;

console.log("Olá, meu nome é " + nome + " e tenho " + idade + " anos.");
```

🧠 **Resposta**:

> Olá, meu nome é Lucas e tenho 22 anos.

***

### 🚀 Resumo rápido

* **Variável = caixinha para guardar valores**
* Use `let` para valores que podem mudar
* Use `const` para valores fixos
* Dê nomes claros e siga as regras
* Evite `var` (tá velho!)

***

### 👨‍💻 Bora praticar?

Tente criar um programa simples que:

1. Guarde o nome de uma pessoa
2. Guarde o ano de nascimento
3. Calcule a idade atual
4. Mostre no console uma frase assim:

```javascript
Olá, Maria! Você tem 18 anos.
```

➡️ Use `const` para o ano atual, e `let` para o resto.\
➡️ Teste mudando o nome e o ano de nascimento!

***

Se precisar de ajuda, lembre-se: **errar faz parte do processo!** 🚧\
Você está aprendendo algo poderoso. Continue firme! 💪💻


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://favelaware.gitbook.io/favelaware/7-javascript/7.2-variaveis.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
