Heim > Web-Frontend > js-Tutorial > Warum gibt die „return'-Anweisung von JavaScript manchmal „undefiniert' zurück?

Warum gibt die „return'-Anweisung von JavaScript manchmal „undefiniert' zurück?

DDD
Freigeben: 2024-11-05 16:14:02
Original
323 Leute haben es durchsucht

Why Does JavaScript's `return` Statement Sometimes Return `undefined`?

Das mysteriöse Return Statement-Rätsel von JavaScript

Betrachten Sie den folgenden JavaScript-Codeausschnitt:

function correct() {
  return 15;
}

function wrong() {
  return 15;
}

console.log("correct() called : " + correct());
console.log("wrong() called : " + wrong());
Nach dem Login kopieren

Überraschenderweise richtig() gibt den erwarteten Wert von 15 zurück, während false() undefiniert zurückgibt. Dieses Verhalten unterscheidet sich von den meisten anderen Programmiersprachen und wir fragen uns, warum es auftritt.

Die technische Erklärung: Unsichtbare Semikolons

Die Semikolons von JavaScript und der Interpreter sind optional fügt sie automatisch an bestimmten Zeilenumbrüchen ein. Allerdings stimmen die Annahmen des Interpreters möglicherweise nicht immer mit unseren Absichten überein.

Im Fall von false() folgt auf die Return-Anweisung ein Zeilenumbruch. Dadurch wird das Einfügen eines Semikolons ausgelöst, was zu folgendem Code führt:

function wrong() {
  return;
  15;
}
Nach dem Login kopieren

Aufschlüsselung des Problems: Return-Syntax

Auf die return-Anweisung muss unmittelbar folgen der Rückgabewert. In false() beendet das Semikolon nach return die Anweisung und lässt die folgende Zeile getrennt.

Die Lösung: Ausdrücke in Klammern setzen

Um diese Verwirrung zu vermeiden, haben wir kann den Rückgabeausdruck in Klammern einschließen:

function wrong() {
  return (
    15
  );
}
Nach dem Login kopieren

Die Klammern verhindern, dass der Interpreter ein Semikolon einfügt und stellen sicher, dass der Ausdruck korrekt ausgewertet wird.

Die Argumentation von TypeScript verstehen

TypeScript, die typisierte Obermenge von JavaScript, gibt im obigen Code einen Compilerfehler aus, was die Wichtigkeit einer korrekten Return-Anweisungssyntax hervorhebt. Dies unterstreicht die Wichtigkeit solcher Überlegungen bei der Definition von Funktionen in JavaScript.

Das obige ist der detaillierte Inhalt vonWarum gibt die „return'-Anweisung von JavaScript manchmal „undefiniert' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage