Maison > interface Web > js tutoriel > le corps du texte

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

DDD
Libérer: 2024-11-05 16:14:02
original
313 Les gens l'ont consulté

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());
Copier après la connexion

É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;
}
Copier après la connexion

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
  );
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal