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 się zakończy, a określona wartość zostanie zwrócona do kontekstu, w którym została wywołana funkcja:

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” może wyświetlić ostrzeżenie (ale nie jest to błąd). 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 funkcja poniżej określa, czy przekazana wartość jest ciągiem znaków zawierającym co najmniej 5 znaków. Jeśli przekazana wartość nie jest ciągiem znaków, kod, który zlicza znaki, jest zbędny, a funkcja może od razu zwrócić wynik false:

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?

Kod wraca na początek funkcji.
Określanie końcowego wyniku funkcji.