Carregando...

Instrução return

Na lição anterior você enviou valores para dentro de uma função. Programas reais também costumam precisar de um valor de saída — um total, um rótulo, sim/não — para o chamador continuar com o resultado. A palavra-chave que envia esse resultado é return.

O que return faz

No corpo você escreve return expression;. O JavaScript avalia a expressão, entrega o valor ao chamador e termina aquela chamada. O chamador pode guardar: let total = add(3, 4); — aqui total vira 7.

return não é o mesmo que imprimir

📊 return versus console.log

Ideia O que faz Quem vê
return value envia value ao chamador sua próxima linha de código
console.log(value) imprime value no console quem olha o console
ambos você pode imprimir e também devolver o log é para olhos; return para o programa
sem return a chamada termina com undefined guardar a chamada dá undefined
depois de return as linhas seguintes dessa chamada são puladas a saída antecipada é intencional

Imprimir ajuda a espiar. Devolver permite que o resto do programa use a resposta. Iniciantes costumam só imprimir dentro e estranham que let x = f() seja undefined — porque nada foi devolvido.

Devolver um número

javascript
function add(a, b) {
return a + b;
}
let total = add(3, 4);
console.log(total);

Capture o resultado

add não imprime sozinha. Ela devolve 7. O chamador guarda isso em total e depois imprime. Mude os argumentos, mantenha o corpo — a soma devolvida segue as entradas.

Devolver uma string

javascript
function greet(name) {
return "Hello, " + name;
}
let line = greet("Sara");
console.log(line);

Monte um valor para depois

greet monta uma string e a devolve. line guarda Hello, Sara. Você pode passar line à página, a outra função ou a um teste — return abre o reuso fora do corpo.

return para a função

javascript
function demo() {
console.log("first");
return 1;
console.log("second");
}
demo();

Nada depois de return executa

Esta chamada imprime first e depois devolve 1. A linha que imprimiria second nunca roda. Não é bug — return termina a chamada na hora.

Saída antecipada

javascript
function label(score) {
if (score < 0) {
return "invalid";
}
return "ok";
}
console.log(label(-1));
console.log(label(10));

Saia cedo quando a resposta já está pronta

Se score for negativo, a função devolve "invalid" e pula o resto. Senão "ok". Este return antecipado mantém o caminho feliz curto e legível.

Sem return significa undefined

javascript
function shout(msg) {
console.log(msg);
}
let result = shout("hi");
console.log(result);

Esqueceu o return?

shout só imprime. A chamada termina, mas com undefined. Guardá-la coloca undefined em result. Se precisar de um valor fora, escreva um return explícito.

Coloque o valor devolvido na página

Monte a mensagem com return e escreva essa string num parágrafo. A função foca em produzir texto; o código da página decide onde aparece.

Mostre return na página

Declare uma função que devolva uma string de boas-vindas, chame-a e coloque o resultado num parágrafo.

Chamada de página com valor devolvido

html
<!DOCTYPE html>
<html>
<head>
<title>return — page</title>
</head>
<body>
<p id="msg">…</p>
<script>
function welcome(guest) {
return "Hello, " + guest;
}
let box = document.getElementById("msg");
box.textContent = welcome("Omar");
</script>
</body>
</html>

A página mostra Hello, Omar. welcome devolveu a string; a linha seguinte escreveu-a no parágrafo. Mude só o argumento, atualize e leia a nova linha. Próxima lição: funções seta — uma forma mais curta de escrever algumas dessas funções.

Experimente você

  1. Escreva function sum(x, y) que devolva x + y, guarde a chamada numa variável e imprima-a.
  2. Escreva function hi(name) que devolva "hi " mais name, depois imprima a string devolvida.
  3. Coloque um console.log depois de um return numa função; confirme que a linha não imprime.
  4. Escreva um guarda: se n === 0 devolva "zero", senão "nonzero".
  5. Chame uma função que só faz console.log e guarde a chamada; confirme undefined.
  6. No demo HTML mude só a string do argumento, atualize e leia o parágrafo.

Erros comuns

  • Usar só console.log dentro e esperar que let x = f() tenha um valor útil
  • Esquecer de guardar ou usar o valor devolvido na chamada
  • Escrever código depois de return e estranhar por que não roda
  • Escrever return; vazio quando queria return value;
  • Procurar truques de parâmetros aqui — esta página é sobre saídas; entradas foram a lição anterior

Resumo

  • return envia um valor ao chamador
  • Guarde ou use esse valor fora da função
  • Depois de return, o resto dessa chamada é pulado
  • Return antecipado é uma saída limpa em casos especiais
  • Sem return (ou return vazio) → a chamada dá undefined
  • Atualizações de página podem usar uma string devolvida
  • Próximo: funções seta — sintaxe compacta de função

🧠 Teste Seu Conhecimento

Pronto para Começar

Teste Seu Conhecimento

Desafie-se com este questionário interativo e veja o quão bem você entende o tópico

❓
8
Perguntas
🎯
70%
Para Passar
♾️
∞
Tempo
🔄
∞
Tentativas

📝 Instruções

  • Leia cada pergunta cuidadosamente
  • Selecione a melhor resposta para cada pergunta
  • Você pode refazer o quiz quantas vezes quiser
  • Seu progresso será mostrado no topo