Sintaxe e Tipos
Aula 1 de 8
Variáveis
JavaScript tem três formas de declarar variáveis com diferenças de escopo e mutabilidade.
// var - escopo de função, pode ser redeclarada (evitar)
var nome = 'João';
// let - escopo de bloco, pode ser reatribuída
let idade = 25;
idade = 26; // ok
// const - escopo de bloco, não pode ser reatribuída
const PI = 3.14159;
// PI = 3; // Erro!
Tipos Primitivos
// string
const nome = 'Maria';
const saudacao = `Olá, ${nome}!`; // template literal
// number
const inteiro = 42;
const decimal = 3.14;
const notANumber = NaN;
const infinito = Infinity;
// boolean
const ativo = true;
const completo = false;
// null (intencionalmente vazio)
const valor = null;
// undefined (não definido)
let naoDefinido;
// symbol (identificador único)
const id = Symbol('id');
// bigint (números muito grandes)
const grande = 9007199254740991n;
// typeof - verificar tipo
console.log(typeof 'texto'); // 'string'
console.log(typeof 42); // 'number'
console.log(typeof true); // 'boolean'
console.log(typeof undefined); // 'undefined'
console.log(typeof null); // 'object' (erro histórico!)
console.log(typeof Symbol()); // 'symbol'
console.log(typeof 42n); // 'bigint'
Operadores
// Aritméticos
let soma = 5 + 3; // 8
let subtracao = 10 - 4; // 6
let mult = 3 * 4; // 12
let div = 15 / 4; // 3.75
let resto = 15 % 4; // 3
let pot = 2 ** 3; // 8
// Comparação (SEMPRE prefira ===)
console.log(5 == '5'); // true (compara valor, converte tipo)
console.log(5 === '5'); // false (compara valor E tipo)
console.log(5 != '5'); // false
console.log(5 !== '5'); // true
// Lógicos
const maior = 18;
const temCarteira = true;
console.log(maior >= 18 && temCarteira); // true (AND)
console.log(maior >= 18 || temCarteira); // true (OR)
console.log(!temCarteira); // false (NOT)
// Ternário
const idade = 20;
const status = idade >= 18 ? 'Maior' : 'Menor';
Template Literals
const nome = 'Ana';
const idade = 28;
// String com interpolação
const msg = `Meu nome é ${nome} e tenho ${idade} anos.`;
// Multi-line
const html = `
<div>
<h1>${nome}</h1>
<p>Idade: ${idade}</p>
</div>
`;
// Expressões dentro de template
const total = `Total: R$ ${(19.90 * 3).toFixed(2)}`;
Lab: Calculadora de IMC
Crie um script que calcula IMC (peso / altura²) usando const, let, template literals e operadores ternários.
# Execute com Node.js
node calculadora-imc.js
const peso = 70;
const altura = 1.75;
const imc = peso / (altura ** 2);
const classificacao = imc < 18.5 ? 'Abaixo do peso'
: imc < 25 ? 'Peso normal'
: imc < 30 ? 'Sobrepeso'
: 'Obesidade';
console.log(`IMC: ${imc.toFixed(2)} - ${classificacao}`);
consté o padrão,letquando precisar reatribuir,varjamais. Use===sempre, nunca==.