Maison > interface Web > js tutoriel > Maîtriser les fonctions d'ordre supérieur en JavaScript

Maîtriser les fonctions d'ordre supérieur en JavaScript

DDD
Libérer: 2024-12-29 11:45:13
original
400 Les gens l'ont consulté

Le développement JavaScript moderne repose en grande partie sur la programmation fonctionnelle, et la maîtrise de ses idées fondamentales améliorera considérablement vos capacités de codage. Les Les fonctions d'ordre supérieur font partie des armes les plus puissantes de ce paradigme. Pour vous aider à les comprendre, cet article passera en revue leur définition, leurs applications et leurs implémentations uniques.

1. Programmation Fonctionnelle

La programmation fonctionnelle est un paradigme de programmation qui met l'accent sur :

  • Fonctions pures : Fonctions sans effets secondaires, renvoyant la même sortie pour les mêmes entrées.
  • Immuabilité : Les données ne changent pas ; de nouvelles structures de données sont créées à la place.
  • Fonctions de première classe : Les fonctions sont traitées comme des valeurs.
  • Fonctions d'ordre supérieur : fonctions qui opèrent sur d'autres fonctions.

En adhérant à ces principes, la programmation fonctionnelle garantit un code propre, prévisible et maintenable.

Mastering Higher-Order Functions in JavaScript


2. Fonctions de première classe

En JavaScript, les fonctions sont des citoyens de premier ordre. Cela signifie :

  1. Des fonctions peuvent être attribuées à des variables :
   const greet = function(name) {
       return `Hello, ${name}!`;
   };
   console.log(greet("Alice")); // Output: Hello, Alice!
Copier après la connexion
Copier après la connexion
  1. Les fonctions peuvent être passées en arguments :
   function applyFunction(value, func) {
       return func(value);
   }
   const square = x => x * x;
   console.log(applyFunction(5, square)); // Output: 25
Copier après la connexion
  1. Les fonctions peuvent être renvoyées à partir d'autres fonctions :
   function multiplier(factor) {
       return num => num * factor;
   }
   const double = multiplier(2);
   console.log(double(4)); // Output: 8
Copier après la connexion

3. Fonctions d'ordre supérieur

Une fonction d'ordre supérieur est une fonction qui :

  • Prend une autre fonction comme argument, ou
  • Renvoie une fonction en résultat.

Exemples en JavaScript :

  • Array.prototype.map()
  • Array.prototype.filter()
  • Array.prototype.reduce()

Ces méthodes intégrées démontrent l'élégance et l'utilité des fonctions d'ordre supérieur.


4. Array.prototype.map()

La méthode map() crée un nouveau tableau en appliquant une fonction de rappel à chaque élément d'un tableau.

Exemple :

const numbers = [1, 2, 3, 4];
const doubled = numbers.map(num => num * 2);
console.log(doubled); // Output: [2, 4, 6, 8]
Copier après la connexion

Ici, map() exécute le rappel pour chaque élément, transformant le tableau sans altérer l'original.


5. Array.prototype.filter()

La méthode filter() renvoie un nouveau tableau contenant des éléments qui satisfont à une condition fournie.

Exemple :

const numbers = [1, 2, 3, 4];
const evenNumbers = numbers.filter(num => num % 2 === 0);
console.log(evenNumbers); // Output: [2, 4]
Copier après la connexion

Cette méthode est parfaite pour extraire des éléments spécifiques d'un tableau.


6. Créer votre propre fonction d'ordre supérieur

Pour vraiment comprendre les fonctions d’ordre supérieur, il est avantageux de créer les vôtres. Implémentons une version personnalisée de map() :

function customMap(array, callback) {
    const result = [];
    for (let i = 0; i < array.length; i++) {
        result.push(callback(array[i], i, array));
    }
    return result;
}

const numbers = [1, 2, 3, 4];
const doubled = customMap(numbers, num => num * 2);
console.log(doubled); // Output: [2, 4, 6, 8]
Copier après la connexion

Dans cet exemple :

  • customMap() parcourt le tableau.
  • La fonction de rappel est appliquée à chaque élément.
  • Les résultats sont poussés dans un nouveau tableau et renvoyés.

7. Combiner des fonctions d'ordre supérieur

Les fonctions d'ordre supérieur deviennent encore plus puissantes lorsqu'elles sont combinées. Par exemple :

Exemple :

   const greet = function(name) {
       return `Hello, ${name}!`;
   };
   console.log(greet("Alice")); // Output: Hello, Alice!
Copier après la connexion
Copier après la connexion

Ici, filter() et map() sont enchaînés pour traiter le tableau de manière propre et expressive.


8. Avantages des fonctions d'ordre supérieur

  • Réutilisabilité du code : écrivez des fonctions génériques qui peuvent fonctionner avec n'importe quel rappel.
  • Clarté : boucles abstraites et logique répétitive.
  • Composition Fonctionnelle : Fonctions en chaîne pour des transformations complexes.

Mastering Higher-Order Functions in JavaScript


9. Conclusion

Écrire du JavaScript contemporain et efficace nécessite une compréhension des fonctions d'ordre supérieur. En plus de réduire les répétitions et de permettre des modèles forts comme la composition fonctionnelle, ils incarnent la logique. Vous pouvez améliorer vos capacités de programmation et écrire du code plus propre et plus facile à maintenir en apprenant et en utilisant des implémentations intégrées et sur mesure.

Suivez-moi sur : Github Linkedin

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:dev.to
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