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, zu einem Fehler führen,
(aber keine Fehlermeldung) bei einigen Browsern Entwicklungskonsolen:
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, wird der Code, der
zählt, dass die Zeichen unnötig sind, und die Funktion kann ein false
zurückgeben.
sofort Ergebnis erhalten:
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
Pfeilfunktionsausdrücke
sind einzigartig, da das Schlüsselwort return
impliziert wird, wenn ein Pfeil-Funktionsrumpf verwendet wird.
enthält einen einzelnen Ausdruck und keine Blocksyntax:
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?