Aula 07 de 10

Funções: seu próprio comando

Criar funções com parâmetros e retorno.

functionparâmetrosreturn
// entendendo

Como funciona

Você já usou funções prontas: alert(), prompt(), console.log(). Agora você vai criar as suas.

function saudacao(nome) {
  console.log("Salve, " + nome + "!");
}

saudacao("Ana");
saudacao("Bruno");

Uma função é uma receita guardada. Escreve uma vez, usa quantas vezes quiser.

  • parâmetro — o que entra (nome)
  • return — o que sai, o resultado que volta pra quem chamou
function soma(a, b) {
  return a + b;
}

let resultado = soma(3, 4);  // 7

Diferença que confunde todo mundo: console.log mostra na tela. return devolve o valor pro código continuar usando.

// mão na massa

Agora é com você

Os campos abaixo estão vazios de propósito. Escreva, clique em Rodar e veja o resultado. Errou? Ótimo — leia o erro e tente de novo. (Atalho: Ctrl+Enter roda o código.)

Sua primeira função

Crie uma função boasVindas que recebe um nome e mostra uma mensagem personalizada. Chame ela três vezes com nomes diferentes.

a7e1.js
Preciso de uma dica
function boasVindas(nome) { console.log(`Bem-vindo, ${nome}!`); } e depois boasVindas("Ana");
Observação: Repare: definir a função não executa nada. Ela só roda quando você chama, com o nome e os parênteses.

Função que devolve resultado

Crie uma função calcularDesconto que recebe o preço e a porcentagem de desconto e retorna o valor final. Teste com R$ 200 e 15%.

a7e2.js
Preciso de uma dica
A conta: preco - (preco * porcentagem / 100). Coloque isso depois do return.
Observação: Depois do return a função para na hora. Qualquer linha escrita abaixo dele nunca vai rodar.

Função com decisão dentro

Crie a função podeJogar(idade) que retorna true se a idade for 14 ou mais, e false se não for. Teste com três idades diferentes.

a7e3.js
Preciso de uma dica
Dentro da função: if (idade >= 14) { return true; } else { return false; }. Quando ficar confortável, saiba que dá pra escrever só return idade >= 14; — a comparação já vale true/false sozinha.
Observação: Funções que devolvem true/false ganham um apelido no mercado: por convenção o nome começa com é, tem ou podepodeJogar, temSaldo, ehMaiorDeIdade.
// desafio

gerador de nick

Desafio: gerador de nick

Crie uma função gerarNick(nome) que devolve um nick de gamer: o nome em maiúsculas + um número aleatório de 0 a 999. Exemplo: ANA_734.

a7d1.js DESAFIO
Preciso de uma dica
nome.toUpperCase() deixa maiúsculo. O número: Math.floor(Math.random() * 1000). Junte com template literal.
Observação: Rode várias vezes: o nick muda toda vez. Você acabou de escrever um gerador — a mesma lógica de nomes de servidor, código de cupom e ID de sala.