Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
return
Baseline Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
L'instructionreturn met fin à l'exécution d'une fonction et définit une valeur à renvoyer à la fonction appelante.
Dans cet article
Exemple interactif
function getRectArea(width, height) { if (width > 0 && height > 0) { return width * height; } return 0;}console.log(getRectArea(3, 4));// Expected output: 12console.log(getRectArea(-3, 4));// Expected output: 0Syntaxe
return [expression];expressionL'expression dont on souhaite renvoyer la valeur. Si elle est absente, la valeur renvoyée par défaut sera
undefined.
Description
Lorsqu'une instructionreturn est utilisée dans une fonction, l'exécution de la fonction se termine. Si une valeur est fournie, elle sera renvoyée à l'appelant de la fonction. Si l'expression définissant la valeur de retour de la fonction est absente, la valeurundefined sera renvoyée. Par exemple, voici une fonction qui renvoie le carré de son argumentx (oùx est un nombre) :
function carre(x) { return x * x;}var demo = carre(3);// demo vaudra alors 9Les instructions qui suivent causeront chacune l'arrêt de l'exécution d'une fonction :
return;return true;return false;return x;return x + y / 3;Ajout automatique de point-virgule
L'instructionreturn peut être impactée parl'ajout automatique de point-virgule (ASI en anglais). Il est interdit d'avoir un caractère de fin de ligne entre le mot-cléreturn et l'expression :
return;a + b;Après ASI, cela sera transformé en :
return;a + b;// Avertissement console : "expression non accessible// après une instruction return sans point-virgule"Note :À partir de Gecko 40, un avertissement sera affiché dans la console si l'analyse du code trouve une instruction semblable à une expression après une instructionreturn sans point-virgule. Voir lebug Firefox 1005110 pour plus d'informations.
Pour éviter ce problème et l'insertion automatique, on peut, si besoin, utiliser des parenthèses.
return ( a + b;);Exemples
>Utiliserreturn
La fonction suivante renvoie le carré de son argument :
function carré(x) { return x * x;}Interrompre une fonction
Une fonction s'arrête immédiatement à l'instant où l'instructionreturn est traitée.
function compteur() { for (var compte = 1; ; compte++) { // boucle infinie console.log(compte + "A"); // jusqu'à 5 if (compte === 5) { return; } console.log(compte + "B"); // jusqu'à 4 } console.log(compte + "C"); // cette instruction n'est jamais utilisée}compteur();// Résultat dans la console :// 1A// 1B// 2A// 2B// 3A// 3B// 4A// 4B// 5ARenvoyer une fonction
Pour en savoir plus sur les fermetures (closures), voircet article sur les fermetures.
function magique() { return function calc(x) { return x * 42; };}var réponse = magique();réponse(1337); // 56154Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-return-statement> |