Fonction imbriquée
Leçon 7 sur 14 du cours Déclarations de fonctions en JavaScript de Coddy.
Les fonctions imbriquées sont comme des super-héros avec des acolytes – ce sont des fonctions puissantes qui peuvent créer et utiliser d'autres fonctions en leur sein.
Une fonction imbriquée est une fonction définie à l'intérieur d'une autre fonction. La fonction interne a accès aux variables et aux paramètres de la fonction externe, créant ainsi une portée locale au sein de la fonction externe.
Imaginez que vous ayez une fonction principale (le super-héros) qui a besoin d'aide pour une tâche spécifique. Au lieu de s'appuyer sur une fonction externe, elle peut créer une fonction d'aide (l'acolyte) en son sein pour gérer cette tâche spécifique. Cette fonction d'aide ne peut être consultée et utilisée que par la fonction principale. Par exemple :
function calculateDiscount(originalPrice, discountPercentage) {
function calculateDiscountAmount(price, discount) {
return price * discount; // Calculer le montant de la remise (fonction interne)
}
const discountAmount = calculateDiscountAmount(originalPrice, discountPercentage / 100);
const finalPrice = originalPrice - discountAmount;
return finalPrice;
}
const discountedPrice = calculateDiscount(100, 20);
console.log(discountedPrice); // Sortie : 80- Fonction externe :
- Nous définissons une fonction nommée
calculateDiscountqui prend deux arguments :originalPriceetdiscountPercentage.
- Nous définissons une fonction nommée
- Fonction interne :
- À l'intérieur de la fonction externe, nous définissons une autre fonction nommée
calculateDiscountAmount. C'est la fonction imbriquée. Elle prend deux arguments :priceetdiscount(remarquez qu'elle n'a pas accès directement àoriginalPriceoudiscountPercentage).
- À l'intérieur de la fonction externe, nous définissons une autre fonction nommée
- Sortie : La fonction renvoie le prix final, qui est 80 (après application de la remise de 20 %).
Défi
FacileVotre tâche consiste à créer une fonction imbriquée nommée calculateTaxAmount qui doit prendre le price et le taxRate de la fonction externe calculateWithTax, calculer le montant de la taxe et le retourner. (Le montant de la taxe est le prix multiplié par le taux de taxe)
Enfin, la fonction externe doit calculer et retourner le prix final (incluant la taxe) en ajoutant le montant de la taxe au prix d'origine et retourner le prix final.
Essayez vous-même
function calculateWithTax(product) {
let price = product.price;
let taxRate = product.taxRate;
// écrire le code ici
}
Toutes les leçons de Déclarations de fonctions en JavaScript
1Introduction au cours
Ce que vous allez apprendre2Introduction aux fonctions
Qu'est-ce qu'une fonction ?Fonctions puresExercice sur les fonctions n°1Exercice sur les fonctions n°23Méthodes de déclaration de fonctions
Fonction de baseFonction imbriquéeRetourner une fonctionExpressions de fonctionFonction fléchéeConstructeur de fonction