Das Keyword „return“

Verwenden Sie return, um den Wert anzugeben, den die Funktion als endgültigen Wert erzeugen soll. Ergebnis. Wenn der Interpreter eine return-Anweisung erreicht, wird die Funktion, enthält diese Anweisung sofort, und der angegebene Wert wird an Kontext, in dem die Funktion aufgerufen wurde:

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

myFunction();
> 4

Eine Funktion, die einen Wert zurückgibt, kann effektiv als die Daten behandelt werden, die sie enthält, ähnlich wie bei einer Variablen:

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

myFunction() + myFunction();
> 8

Eine return-Anweisung ohne einen Ausdruck beendet die Funktion und gibt undefined:

const myFunction = function() {
   return;
}

myFunction();
> undefined

Da das Schlüsselwort return das Ende einer Funktion signalisiert, wird jeder Code, der auf eine gefundene return folgt, wird nicht ausgeführt:

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

myFunction();
> true

Außerdem kann Code, der auf eine return-Anweisung folgt, in den Entwicklungskonsolen einiger Browser zu einer Warnung (aber nicht zu einem Fehler) führen:

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

myFunction();
> true

Dies gilt wiederum nur für return-Anweisungen, die während der Ausführung der Funktion und nicht von Code, der einer return-Anweisung folgt:

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."

„Kurzschluss“ Eine Funktion mit einem frühen return kann prägnanter sein als eine return-Anweisung am Ende einer Funktion. Beispiel: Der Parameter die folgende Funktion bestimmt, ob ein übergebener Wert ein String mit fünf oder mehr Zeichen. Wenn der übergebene Wert kein Stringliteral ist, ist der Code zum Zählen der Zeichen nicht erforderlich und die Funktion kann sofort ein false-Ergebnis zurückgeben:

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

Ausdrücke von Pfeilfunktionen sind einzigartig, da das Schlüsselwort return impliziert ist, wenn der Körper einer Pfeilfunktion einen einzelnen Ausdruck und keine Blocksyntax enthält:

const myFunction = () => 2 + 2;

myFunction();
> 4

Wenn Sie die Blocksyntax zum Definieren des Pfeil-Funktionstexts verwenden, wird eine explizite return ist erforderlich, auch wenn der Funktionstext nur einen einzigen Ausdruck enthält:

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

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

myFunction();
> 4

Wissen testen

Wofür wird return verwendet?

Der Code kehrt zum Anfang der Funktion zurück.
Endergebnis einer Funktion angeben