Estruturas de controle, funções, arrays e objetos.
const idade = 17;
if (idade >= 18) {
console.log('Maior de idade');
} else if (idade >= 16) {
console.log('Pode votar');
} else {
console.log('Menor de idade');
}
// condição ? verdadeiro : falso
const idade = 20;
const status = idade >= 18
? 'Maior'
: 'Menor';
console.log(status); // "Maior"
const dia = 'segunda';
switch (dia) {
case 'segunda':
case 'terça':
case 'quarta':
case 'quinta':
case 'sexta':
console.log('Dia útil');
break;
case 'sábado':
case 'domingo':
console.log('Fim de semana!');
break;
default:
console.log('Dia inválido');
}
if/else ifbreak é obrigatório, senão executa os cases seguintesdefault funciona como o elsefor (let i = 0; i < 5; i++) {
console.log(i);
}
// 0, 1, 2, 3, 4
Quando você sabe quantas vezes repetir.
let n = 1;
while (n <= 5) {
console.log(n);
n++;
}
// 1, 2, 3, 4, 5
Quando não sabe quantas vezes repetir.
const frutas = [
'maçã',
'banana',
'uva'
];
for (const f of frutas) {
console.log(f);
}
Ideal para percorrer arrays.
function saudacao(nome) {
return `Olá, ${nome}!`;
}
console.log(saudacao('Ana'));
// "Olá, Ana!"
const saudacao = (nome) => {
return `Olá, ${nome}!`;
};
// Versão curta (1 linha):
const dobro = (n) => n * 2;
console.log(dobro(5)); // 10
function criarUsuario(nome, idade, ativo = true) {
console.log(`${nome}, ${idade} anos, ativo: ${ativo}`);
}
criarUsuario('Maria', 25); // "Maria, 25 anos, ativo: true"
criarUsuario('João', 30, false); // "João, 30 anos, ativo: false"
const cores = ['azul', 'verde', 'vermelho'];
console.log(cores[0]); // "azul"
console.log(cores[2]); // "vermelho"
console.log(cores.length); // 3
// Índices começam em 0!
// [0] [1] [2]
// "azul" "verde" "vermelho"
const lista = [1, 2, 3];
lista.push(4); // [1, 2, 3, 4]
lista.pop(); // [1, 2, 3]
lista.unshift(0); // [0, 1, 2, 3]
lista.shift(); // [1, 2, 3]
lista.includes(2); // true
lista.indexOf(3); // 2
const nums = [1, 2, 3, 4];
const dobros = nums.map(
(n) => n * 2
);
// [2, 4, 6, 8]
Transforma cada item gerando um novo array.
const nums = [1, 2, 3, 4, 5];
const pares = nums.filter(
(n) => n % 2 === 0
);
// [2, 4]
Filtra itens com base em uma condição.
const nums = [1, 2, 3, 4];
const soma = nums.reduce(
(acc, n) => acc + n, 0
);
// 10
Acumula valores em um único resultado.
const precos = [120, 45, 200, 89, 15];
const total = precos
.filter((p) => p > 50) // [120, 200, 89]
.map((p) => p * 0.9) // [108, 180, 80.1] (10% desconto)
.reduce((acc, p) => acc + p, 0); // 368.1
const aluno = {
nome: 'Ana',
idade: 22,
curso: 'ADS',
ativo: true
};
// Acessando propriedades:
console.log(aluno.nome); // "Ana"
console.log(aluno['curso']); // "ADS"
// Alterar valor
aluno.idade = 23;
// Adicionar propriedade
aluno.email = 'ana@email.com';
// Remover propriedade
delete aluno.ativo;
// Verificar se existe
console.log('nome' in aluno); // true
const produto = { nome: 'Notebook', preco: 4500, marca: 'Dell' };
// Extrair propriedades em variáveis:
const { nome, preco, marca } = produto;
console.log(nome); // "Notebook"
console.log(preco); // 4500
const alunos = [
{ nome: 'Ana', nota: 8.5 },
{ nome: 'Carlos', nota: 6.0 },
{ nome: 'Julia', nota: 9.2 },
{ nome: 'Pedro', nota: 4.5 },
];
// Aprovados (nota >= 6)
const aprovados = alunos
.filter((a) => a.nota >= 6);
// Nomes dos aprovados
const nomes = aprovados
.map((a) => a.nome);
// ["Ana", "Carlos", "Julia"]
// Encontrar um aluno
const ana = alunos.find(
(a) => a.nome === 'Ana'
);
// { nome: 'Ana', nota: 8.5 }
// Algum reprovado?
const temReprovado = alunos.some(
(a) => a.nota < 6
);
// true
// Todos aprovados?
const todosOk = alunos.every(
(a) => a.nota >= 6
);
// false
const user = {
nome: 'Ana',
idade: 22
};
Object.keys(user);
// ["nome", "idade"]
Object.values(user);
// ["Ana", 22]
Object.entries(user);
// [["nome","Ana"],
// ["idade", 22]]
const base = { cor: 'azul', tamanho: 'M' };
// Copiar e modificar
const novo = { ...base, preco: 59.90 };
// { cor: "azul", tamanho: "M", preco: 59.90 }
// Funciona com arrays também:
const a = [1, 2];
const b = [...a, 3, 4]; // [1, 2, 3, 4]
calcularMedia que recebe nota1 e nota2 e retorna a médiamap() para adicionar a propriedade media a cada alunofilter() para separar aprovados (media >= 6) e reprovadosreduce() para calcular a média geral da turmasort().
DOM: seleção, manipulação e criação de elementos.