return
Termine l’exécution d’une fonction et transmet une valeur à l’endroit où la fonction a été appelée.
Exemple
#function discountPrice(price, percent) {
if (percent <= 0) {
return price
}
return price - (price * percent) / 100
}
console.log(discountPrice(200, 25))
console.log(discountPrice(200, 0))Définition et utilisation
#L’instruction return termine immédiatement la fonction. La valeur écrite après elle devient le résultat de l’appel, que vous pouvez affecter à une variable ou transmettre plus loin. Le code situé après un return exécuté ne s’exécutera plus.
Une fonction sans return, ou avec un simple return sans valeur, renvoie undefined. On ne peut renvoyer qu’une seule valeur, mais ce peut être un tableau ou un objet, que vous déballerez ensuite par déstructuration.
Faites attention au saut de ligne. Si la valeur ne commence qu’à la ligne suivante, JavaScript insère un point-virgule juste après return, et la fonction renvoie undefined. Commencez une expression multiligne sur la même ligne, par ex. par une parenthèse : return (.
Syntaxe
#return
return expressionPlus d’exemples
#function stats(points) {
const total = points.reduce((sum, p) => sum + p, 0)
return { total, average: total / points.length }
}
const { total, average } = stats([80, 90, 100])
console.log(total, average)function getBadge() {
return
{
name: 'Première leçon'
}
}
console.log(getBadge())JavaScript insère automatiquement un point-virgule après un return isolé, donc l’objet ci-dessous ne sera jamais renvoyé. Gardez l’accolade ouvrante sur la même ligne : return {.
const square = (n) => n * n
const noReturn = (n) => {
n * n
}
console.log(square(4))
console.log(noReturn(4))Compatibilité des navigateurs
#Largement disponible
Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.
- Chrome
- Edge
- Firefox
- Safari
Bonnes pratiques
#- Un
returnanticipé au début de la fonction gère les cas d’erreur et réduit l’imbrication du code. - Veillez à ce que tous les chemins de la fonction renvoient le même type de valeur. Une fonction qui renvoie parfois un nombre, parfois
undefined, casse facilement les calculs suivants.
Entrées associées
#- functionDéclare une fonction nommée : un bloc de code avec des paramètres, que vous pouvez appeler autant de fois que vous voulez et qui peut renvoyer un résultat.
- () => {}Fonction fléchée (arrow function) : une syntaxe de fonction plus courte, sans this propre, avec un return implicite pour une seule expression.
- if...elseExécute un bloc de code seulement si une condition est vraie, et sinon un bloc else optionnel.
- DéstructurationLa déstructuration (destructuring) extrait des valeurs de tableaux et d’objets directement vers des variables séparées.
Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.