3 Variáveis e Tipos
Variável é um espaço na memória usado para armazenar dados durante a execução do programa.
Em JavaScript, variáveis servem para guardar valores que podem ser usados, combinados e transformados ao longo do programa. Entender bem como declarar e manipular variáveis evita muitos erros comuns em código iniciante.
3.1 let, const e var
let: valor pode mudar.const: valor não pode ser reatribuído.var: forma antiga, evite em novos projetos.
Quando possível, prefira const. Isso ajuda a deixar claro o que nao deve mudar. Use let quando a variavel realmente precisar ser atualizada.
let idade = 16;
const escola = "Escola Técnica";
idade = 17;
console.log(idade);
console.log(escola);3.1.1 Escopo (onde a variavel existe)
leteconsttem escopo de bloco: so existem dentro de chaves{ }.vartem escopo de funcao: pode vazar para fora de blocos e causar bugs.
if (true) {
let dentro = "ok";
var fora = "opa";
}
// console.log(dentro); // erro: dentro nao existe aqui
console.log(fora); // funciona, mas e perigoso3.1.2 Reatribuicao vs. mutacao
const impede reatribuicao, mas nao impede mutar objetos e arrays.
const aluno = { nome: "Joao", nota: 8 };
aluno.nota = 9; // ok
// aluno = { nome: "Maria" }; // erro3.2 Regras de nome de variáveis
- Comece com letra,
_ou$. - Não use espaços.
- Evite nomes genéricos como
x,y,zem projetos reais. - Use nomes claros:
notaFinal,valorTotal,nomeAluno.
Boas praticas:
- Use
camelCaseem nomes de variaveis e funcoes. - Evite abreviacoes confusas.
- Prefira nomes que indiquem o papel do dado:
quantidadeItens,estaAtivo.
3.3 Tipos primitivos
string(texto)number(número)boolean(trueoufalse)nullundefinedbigintsymbol
Outros tipos importantes:
object: estruturas como arrays, objetos e datas.function: funcoes tambem sao valores.
const nome = "Ana";
const nota = 8.5;
const aprovado = true;
console.log(typeof nome); // string
console.log(typeof nota); // number
console.log(typeof aprovado); // boolean3.3.1 null vs undefined
undefined: valor nao definido (variavel declarada mas sem valor).null: valor vazio definido pelo programador.
let resultado;
const vazio = null;
console.log(resultado); // undefined
console.log(vazio); // nullCuriosidade: typeof null retorna object por um detalhe historico.
3.4 Conversão de tipos
Quando um valor de texto precisa virar numero, use Number. Para conversoes mais tolerantes, use parseInt ou parseFloat.
const textoNumero = "42";
const numero = Number(textoNumero);
console.log(numero + 8); // 50console.log(parseInt("12px", 10)); // 12
console.log(parseFloat("10.5em")); // 10.5Outras conversões úteis:
console.log(String(150)); // "150"
console.log(Boolean(1)); // true
console.log(Boolean(0)); // false3.4.1 Valores truthy e falsy
Em condicoes, alguns valores sao considerados false:
false,0,"",null,undefined,NaN
Todo o resto e true.
3.5 NaN e validação de número
NaN significa “Not a Number”, quando uma operação numérica falha.
const entrada = "abc";
const valor = Number(entrada);
console.log(valor); // NaN
console.log(Number.isNaN(valor)); // trueUse Number.isNaN para validar numeros depois de conversoes. isNaN global pode confundir porque converte tipos antes de testar.
3.6 Template strings
Template string usa crase para montar frases com variáveis.
const aluno = "Carlos";
const media = 7.8;
console.log(`Aluno: ${aluno} | Média: ${media}`);Template strings tambem permitem quebrar linhas com facilidade:
const aviso = `Aluno: ${aluno}
Media: ${media}`;
console.log(aviso);3.7 Precisao de numeros
JavaScript usa ponto flutuante, entao algumas somas nao ficam exatas.
console.log(0.1 + 0.2); // 0.30000000000000004Em valores de dinheiro, prefira trabalhar em centavos (inteiros) e formatar no final.
3.8 Exemplo prático: orçamento de passeio
const transporte = 50;
const alimentacao = 45;
const ingresso = 30;
const total = transporte + alimentacao + ingresso;
console.log(`Custo total do passeio: R$ ${total}`);3.9 Exemplo prático: situação do estudante
const faltas = 12;
const limite = 15;
const podeFaltarMais = faltas < limite;
console.log(`Pode faltar mais? ${podeFaltarMais}`);3.10 Exercícios
- Declare variáveis para nome, idade e cidade e exiba no console.
- Converta a string
"150"para número e some com25. - Crie uma mensagem com template string informando produto e preço.
- Crie um programa que receba preço e quantidade e exiba o total.
- Desafio: leia uma string numérica e valide se a conversão resultou em número válido.