Maison >interface Web >js tutoriel >Pourquoi l'instruction « return » de JavaScript renvoie-t-elle parfois « undéfini » ?

Pourquoi l'instruction « return » de JavaScript renvoie-t-elle parfois « undéfini » ?

DDD
DDDoriginal
2024-11-05 16:14:02323parcourir

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

L'énigme mystérieuse des déclarations de retour de JavaScript

Considérez l'extrait de code JavaScript suivant :

function correct() {
  return 15;
}

function wrong() {
  return 15;
}

console.log("correct() called : " + correct());
console.log("wrong() called : " + wrong());

Étonnamment, correct() renvoie la valeur attendue de 15, tandis que incorrect() renvoie undéfini. Ce comportement diffère de la plupart des autres langages de programmation, nous laissant nous demander pourquoi il se produit.

L'explication technique : les points-virgules invisibles

Les points-virgules de JavaScript sont facultatifs et l'interpréteur les insère automatiquement à certains caractères de nouvelle ligne. Cependant, les hypothèses de l'interprète ne correspondent pas toujours à nos intentions.

Dans le cas de false(), l'instruction return est suivie d'une nouvelle ligne. Cela déclenche l'insertion d'un point-virgule, ce qui donne le code suivant :

function wrong() {
  return;
  15;
}

Décomposition du problème : syntaxe de retour

L'instruction return doit être immédiatement suivie de la valeur de retour. Dans false(), le point-virgule après return termine l'instruction, laissant la ligne suivante déconnectée.

La solution : mettre les expressions entre parenthèses

Pour éviter cette confusion, nous peut mettre l'expression de retour entre parenthèses :

function wrong() {
  return (
    15
  );
}

Les parenthèses empêchent l'interpréteur d'insérer un point-virgule et garantissent que l'expression est correctement évaluée.

Comprendre le raisonnement de TypeScript

TypeScript, le sur-ensemble typé de JavaScript, génère une erreur de compilation dans le code ci-dessus, soulignant l'importance d'une syntaxe correcte de l'instruction return. Cela souligne le caractère critique de ces considérations lors de la définition de fonctions en JavaScript.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn