[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Statements/return [Back]  [Original]

return - JavaScript | MDN

Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.

View in English Always switch to English

return

Baseline Large disponibilit

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'instruction return met fin l'excution d'une fonction et dfinit 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: 12

console.log(getRectArea(-3, 4));
// Expected output: 0

Syntaxe

js
return [expression];
expression

L'expression dont on souhaite renvoyer la valeur. Si elle est absente, la valeur renvoye par dfaut sera undefined.

Description

Lorsqu'une instruction return est utilise dans une fonction, l'excution de la fonction se termine. Si une valeur est fournie, elle sera renvoye l'appelant de la fonction. Si l'expression dfinissant la valeur de retour de la fonction est absente, la valeur undefined sera renvoye. Par exemple, voici une fonction qui renvoie le carr de son argument x (o x est un nombre) :

js
function carre(x) {
  return x * x;
}
var demo = carre(3);
// demo vaudra alors 9

Les instructions qui suivent causeront chacune l'arrt de l'excution d'une fonction :

js
return;
return true;
return false;
return x;
return x + y / 3;

Ajout automatique de point-virgule

L'instruction return peut tre impacte par l'ajout automatique de point-virgule (ASI en anglais). Il est interdit d'avoir un caractre de fin de ligne entre le mot-cl return et l'expression :

js
return;
a + b;

Aprs ASI, cela sera transform en :

js
return;
a + b;
// Avertissement console : "expression non accessible
// aprs 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 aprs une instruction return sans point-virgule. Voir le bug Firefox 1005110 pour plus d'informations.

Pour viter ce problme et l'insertion automatique, on peut, si besoin, utiliser des parenthses.

js
return (
  a + b;
);

Exemples

Utiliser return

La fonction suivante renvoie le carr de son argument :

js
function carr(x) {
  return x * x;
}

Interrompre une fonction

Une fonction s'arrte immdiatement l'instant o l'instruction return est traite.

js
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 utilise
}

compteur();

// Rsultat dans la console :
// 1A
// 1B
// 2A
// 2B
// 3A
// 3B
// 4A
// 4B
// 5A

Renvoyer une fonction

Pour en savoir plus sur les fermetures (closures), voir cet article sur les fermetures.

js
function magique() {
  return function calc(x) {
    return x * 42;
  };
}

var rponse = magique();
rponse(1337); // 56154

Spcifications

Spcification
ECMAScript 2027 LanguageSpecification
# sec-return-statement

Compatibilit des navigateurs

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page