Powracające słowo kluczowe

Użyj return, aby określić wartość, którą funkcja powinna wygenerować jako końcową wynik. Gdy interpreter dotrze do instrukcji return, funkcja, która zawiera tę instrukcję natychmiast, a określona wartość jest zwracana do kontekst, w którym funkcja została wywołana:

const myFunction = function() {
   return 2 + 2;
}

myFunction();
> 4

Funkcja, która zwraca wartość, może być traktowana jako dane, zawiera (podobnie jak zmienna):

const myFunction = function() {
   return 2 + 2;
}

myFunction() + myFunction();
> 8

Instrukcja return bez wyrażenia kończy funkcję i zwraca undefined:

const myFunction = function() {
   return;
}

myFunction();
> undefined

Słowo kluczowe return sygnalizuje koniec funkcji, więc każdy kod, który występuje, gdy napotkany znacznik return nie jest wykonywany:

const myFunction = function() {
   return true;
   console.log( "This is a string." );
}

myFunction();
> true

Dodatkowo kod występujący po napotkanej instrukcji return może spowodować wyświetlenie wywołania w niektórych przeglądarkach” konsol programistycznych:

const myFunction = function() {
   return true;
   console.log( "This is a string." );
}
> unreachable code after return statement

myFunction();
> true

Dotyczy to tylko instrukcji return napotkanych podczas wykonania funkcji, a nie żadnego kodu, który następuje po kolei po instrukcji return:

const myFunction = function( myParameter ) {
   if( myParameter === undefined ) {
    return "This is the result.";
   }
   return "This is the alternate result.";
}

myFunction();
> "This is the result."

myFunction( true );
> "This is the alternate result."

„Zwarcie” funkcja wykorzystująca wczesną wersję return pozwoli na bardziej zwięzłe niż pojedyncza instrukcja return na końcu funkcji. Na przykład parametr poniższa funkcja określa, czy przekazywana wartość jest ciągiem zawierającym pięć lub więcej znaków. Jeśli przekazywana wartość nie jest literałem ciągu, kod, który zlicza niepotrzebne znaki, a funkcja może zwrócić false wynik natychmiast:

function myFunction( myString ) {
   if( typeof myString !== "string" ) {
    return false;
   }
   if( myString.length >= 5 ) {
    return true;
   } else {
    return false;
   }
}

myFunction( 100 );
> false

myFunction( "St" );
> false

myFunction( "String." );
> true

Wyrażenia funkcji strzałek są unikalne, ponieważ słowo kluczowe return jest domniemane, gdy treść funkcji strzałki zawiera pojedyncze wyrażenie i nie zawiera składni blokowej:

const myFunction = () => 2 + 2;

myFunction();
> 4

Jeśli do definiowania treści funkcji strzałki używasz składni bloku, jawny zapis return jest wymagane, nawet jeśli treść funkcji zawiera tylko jedno wyrażenie:

const myFunction = () => { 2 + 2 };

myFunction();
> undefined
const myFunction = () => { return 2 + 2 };

myFunction();
> 4

Sprawdź swoją wiedzę

Do czego służy return?

Określanie końcowego wyniku funkcji.
Zwracanie kodu na początek funkcji.