Rückgabewerte
In der letzten Lektion hast du Werte in eine Funktion geschickt. Echte Programme brauchen oft auch einen Wert heraus — eine Summe, ein Label, ja/nein — damit der Aufrufer mit dem Ergebnis weiterarbeiten kann. Das Schlüsselwort dafür ist return.
Was return macht
Im Funktionskörper schreibst du return expression;. JavaScript wertet den Ausdruck aus, übergibt den Wert an den Aufrufer und beendet diesen Aufruf. Der Aufrufer kann speichern: let total = add(3, 4); — hier wird total zu 7.
return ist nicht dasselbe wie loggen
📊 return vs. console.log
| Idee | Was es tut | Wer es sieht |
|---|---|---|
return value |
sendet value an den Aufrufer |
deine nächste Codezeile |
console.log(value) |
schreibt value in die Konsole |
wer die Konsole liest |
| beides | du kannst loggen und zurückgeben | Log für Augen; return fürs Programm |
kein return |
der Aufruf endet mit undefined |
Speichern liefert undefined |
nach return |
spätere Zeilen in diesem Aufruf entfallen | früher Ausstieg ist Absicht |
Logging hilft beim Nachschauen. Rückgabe lässt den Rest des Programms die Antwort nutzen. Anfänger loggen oft nur innen und wundern sich, warum let x = f() undefined ist — weil nichts zurückgegeben wurde.
function add(a, b) {
return a + b;
}
let total = add(3, 4);
console.log(total);
Das Ergebnis festhalten
add druckt nicht selbst. Es gibt 7 zurück. Der Aufrufer speichert das in total und loggt danach. Ändere die Argumente, behalte den Körper — die zurückgegebene Summe folgt den Eingaben.
function greet(name) {
return "Hello, " + name;
}
let line = greet("Sara");
console.log(line);
Einen Wert für später bauen
greet baut eine Zeichenkette und gibt sie zurück. line hält Hello, Sara. Du kannst line an die Seite, eine andere Funktion oder einen Test geben — return ermöglicht Wiederverwendung außerhalb des Körpers.
function demo() {
console.log("first");
return 1;
console.log("second");
}
demo();
Nach return läuft nichts mehr
Dieser Aufruf druckt first, gibt dann 1 zurück. Die Zeile für second läuft nie. Das ist kein Fehler — return beendet den Aufruf sofort.
function label(score) {
if (score < 0) {
return "invalid";
}
return "ok";
}
console.log(label(-1));
console.log(label(10));
Früh gehen, wenn die Antwort fertig ist
Ist score negativ, gibt die Funktion "invalid" zurück und überspringt den Rest. Sonst "ok". Dieser frühe return hält den Normalfall kurz und lesbar.
function shout(msg) {
console.log(msg);
}
let result = shout("hi");
console.log(result);
return vergessen?
shout loggt nur. Der Aufruf endet trotzdem — mit undefined. Speichern legt undefined in result. Brauchst du außen einen Wert, schreib ein explizites return.
Rückgabewert auf die Seite
Baue die Nachricht mit return, schreib die Zeichenkette dann in einen Absatz. Die Funktion erzeugt Text; der Seitencode entscheidet, wo er erscheint.
return auf der Seite zeigen
Deklariere eine Funktion, die eine Willkommenszeichenkette zurückgibt, rufe sie auf und setze das Ergebnis in einen Absatz.
<!DOCTYPE html>
<html>
<head>
<title>return — page</title>
</head>
<body>
<p id="msg">…</p>
<script>
function welcome(guest) {
return "Hello, " + guest;
}
let box = document.getElementById("msg");
box.textContent = welcome("Omar");
</script>
</body>
</html>
Die Seite zeigt Hello, Omar. welcome gab die Zeichenkette zurück; die nächste Zeile schrieb sie in den Absatz. Ändere nur das Argument, aktualisiere, lies die neue Zeile. Als Nächstes: Pfeilfunktionen — eine kürzere Schreibweise für manche dieser Funktionen.
Selbst ausprobieren
- Schreibe
function sum(x, y), diex + yzurückgibt, speichere den Aufruf und logge die Variable. - Schreibe
function hi(name), die"hi "plusnamezurückgibt, und logge die zurückgegebene Zeichenkette. - Setze ein
console.lognach einemreturnin einer Funktion; bestätige, dass die Zeile nicht druckt. - Schreibe eine Guard: wenn
n === 0dann"zero", sonst"nonzero"zurückgeben. - Rufe eine Funktion auf, die nur
console.logt, und speichere den Aufruf; bestätigeundefined. - Ändere im HTML-Demo nur die Argumentzeichenkette, aktualisiere und lies den Absatz.
Häufige Fehler
- Nur
console.login der Funktion und erwarten, dasslet x = f()einen nützlichen Wert hält - Den Rückgabewert am Aufruf nicht speichern oder nutzen
- Code nach
returnschreiben und sich wundern, warum er nicht läuft - Leeres
return;stattreturn value; - Hier nach Parameter-Tricks suchen — diese Seite geht um Ausgaben; Eingaben waren die vorige Lektion
Zusammenfassung
returnsendet einen Wert an den Aufrufer- Speichere oder nutze diesen Wert außerhalb der Funktion
- Nach
returnentfällt der Rest dieses Aufrufs - Früher return ist ein sauberer Ausstieg bei Sonderfällen
- Kein
return(oder leeresreturn) → der Aufruf liefertundefined - Seitenupdates können eine zurückgegebene Zeichenkette nutzen
- Als Nächstes: Pfeilfunktionen — kompakte Funktionssyntax
🧠 Testen Sie Ihr Wissen
Testen Sie Ihr Wissen
Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen
📝 Anweisungen
- Lesen Sie jede Frage sorgfältig
- Wählen Sie die beste Antwort für jede Frage
- Sie können das Quiz so oft wiederholen, wie Sie möchten
- Ihr Fortschritt wird oben angezeigt