Esta tradução está incompleta. Ajude a traduzir este artigo em inglês
A declaração return finaliza a execução de uma função e especifica os valores que devem ser retonados para onde a função foi chamada.
Sintaxe
return [[expression]];
expression- A expressão cujo valor será retornado. Se omitido,
undefinedé retornado.
Descrição
Quando uma declaração return é usada em um corpo de função, a execução dessa função é parada. Se especificado, um dado valor é retornado à quem chamou a função. Se a expressão for omitida, undefined será retornado. Todas as declarações return a seguir param a execução da função:
return; return true; return false; return x; return x + y / 3;
Inserção Automática de Ponto-e-Vírgula
A declaração return é afetada pela inserção automática de ponto e vírgula (ASI). Nenhum terminador de linha é permitido entre a palavra-chave return e a expressão.
return a + b;
é transformado pelo ASI em:
return; a + b;
O console irá alertar "unreachable code after return statement" (código inacessível após a declaração return).
return.Exemplos
return
A função a seguir retorna o quadro do seu argumento, x, quando x é um número.
function square(x) {
return x * x;
}
Interrompendo uma função
Uma função para imediatamente no ponto em que return é chamado.
function counter() {
for (var count = 1; ; count++) { // loop infinito
console.log(count + 'A'); // até 5
if (count === 5) {
return;
}
console.log(count + 'B'); // até 4
}
console.log(count + 'C'); // nunca aparece
}
counter();
// Saída:
// 1A
// 1B
// 2A
// 2B
// 3A
// 3B
// 4A
// 4B
// 5A
Retornando uma função
Veja também o artigo sobre Closures.
function magic(x) {
return function calc(x) { return x * 42; };
}
var answer = magic();
answer(1337); // 56154
Especificações
| Especificação | Situação | Comentário |
|---|---|---|
| ECMAScript 1st Edition (ECMA-262) | Padrão | Definição inicial. |
| ECMAScript 5.1 (ECMA-262) The definition of 'Return statement' in that specification. |
Padrão | |
| ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Return statement' in that specification. |
Padrão | |
| ECMAScript Latest Draft (ECMA-262) The definition of 'Return statement' in that specification. |
Rascunho |
Compatibilidade de navegadores
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
| Feature | Android | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |