Stela JavaScript Aulas Aula 7
Escreveu duas vezes? Vira função.
Cadastro de Alunos, parte I: organizando o código em blocos reutilizáveis.
Criar funções com parâmetros e retorno e começar o projeto Cadastro de Alunos.
Ler sobre funções na bibliografia básica.
Lista de exercícios práticos.
Código repetido é convite para erro
Olhe o Sistema de Aprovação: a mesma conta de média aparece em vários lugares. Se a regra mudar, você vai lembrar de trocar em todos? A solução é dar um nome para esse pedaço de código e chamá-lo quando precisar.
1const media1 = (8 + 7 + 9) / 3;2const media2 = (5 + 6 + 7) / 3;3const media3 = (10 + 9 + 8) / 3;4// e se a média passar a ter peso?5// trocar em 40 lugares...
Funções em três peças
Declarar e chamar
A função é declarada uma vez, com function e um nome, e chamada quantas vezes quiser, com o nome e parênteses.
1function saudar() {2 console.log("Bem-vindos, filhotes!");3}45saudar(); // chama uma vez6saudar(); // e de novo
Parâmetros e argumentos
Parâmetros são as variáveis que a função recebe, na declaração. Argumentos são os valores que você manda na chamada.
1function saudar(nome) { // nome é o parâmetro2 console.log(`Oi, ${nome}!`);3}45saudar("Ana"); // "Ana" é o argumento6saudar("Caio");
Retorno com return
O return devolve um resultado para quem chamou. Com ele, uma função pode alimentar outra.
Depois do return, a função para.
1function calcularMedia(n1, n2, n3) {2 return (n1 + n2 + n3) / 3;3}45function verificarSituacao(media) {6 return media >= 6 ? "Aprovado" : "Recuperação";7}89const media = calcularMedia(8, 7, 9); // 810console.log(verificarSituacao(media)); // Aprovado
Cadastrar um aluno sem repetir código
Ator: Secretaria da escola
Objetivo: Cadastrar alunos com nome e e-mail válidos, sempre do mesmo jeito.
Fluxo principal
- A secretaria informa o nome e o e-mail.
- O sistema confere se o nome não está vazio.
- Confere se o e-mail tem @.
- Confirma o cadastro.
E se...
- O mesmo conferir e-mail aparece também na tela de editar aluno: vira uma função usada nos dois lugares.
Para pensar
- Quais passos viram funções? Que parâmetros e que retorno cada uma tem?
- Se a regra do e-mail mudar, quantos lugares do código vocês alteram?
Cadastro de Alunos, parte I
O projeto que vai crescer até o fim do semestre. O que você marcar fica salvo neste navegador.
Funções em todo lugar
Matemática
f(x) = 2x + 1 é uma função: entra um valor, sai outro. Em JavaScript é igualzinho, só que com nome.
Engenharia
Funções são como módulos de uma placa: cada um faz uma coisa, e você troca um sem refazer o resto.
Tecnologia
Toda biblioteca que você vai usar no futuro, inclusive o React, é um monte de funções bem organizadas.
Terminou antes? Tem mais.
Crie a função calcularMediaPonderada(n1, n2, peso1, peso2) e use no lugar da média simples. Repare: só um lugar mudou.
Para estudar e praticar
Funções
Explicação, editor ao vivo e quiz.
Funções
Tudo sobre funções, em português.
DocumentaçãoconsultaJavaScript: guia do programador
SILVA, Maurício Samy. Novatec, 2020. E-book na biblioteca.
LivroleituraCommit da parte I do Cadastro de Alunos
Na próxima aula tem a atividade avaliativa prática, em cima deste projeto. Venha com ele funcionando.