Maison > interface Web > js tutoriel > Discussion détaillée des fonctions d'ordre supérieur (HOF).

Discussion détaillée des fonctions d'ordre supérieur (HOF).

WBOY
Libérer: 2024-08-29 12:37:43
original
1267 Les gens l'ont consulté

Higher-Order Functions (HOFs) সম্পর্কে বিস্তারিত আলোচনা

Fonction d'ordre supérieur (HOF) est une fonction qui peut accepter une autre fonction comme argument ou renvoyer une fonction, ou les deux. Les fonctions en JavaScript sont considérées comme des Citoyens de première classe, ce qui signifie que les fonctions peuvent être stockées sous forme de variables, transmises comme arguments et renvoyées. Pour cette raison, il est facile de créer des fonctions d'ordre supérieur en JavaScript.

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

  1. peut prendre une ou plusieurs fonctions en entrée.
  2. peut renvoyer une fonction en sortie.

Ces fonctions contribuent à rendre la programmation plus modulaire et réutilisable.

par exemple :-

function higherOrderFunction(callback) {
    // কিছু কাজ করল
    console.log("Executing the callback function now...");
    callback();  // কলব্যাক ফাংশনকে কল করা হচ্ছে
}

function sayHello() {
    console.log("Hello, World!");
}

// higherOrderFunction কে একটি ফাংশন হিসেবে call করা হল
higherOrderFunction(sayHello); 
// Output:
// Executing the callback function now...
// Hello, World!
Copier après la connexion

Dans l'exemple ci-dessus, upperOrderFunction est une fonction d'ordre supérieur qui prend une fonction nommée sayHello comme argument et l'appelle ensuite.

Avantages des fonctions d'ordre supérieur :

  1. Réutilisabilité du code : Vous pouvez rendre les fonctions courantes réutilisables en utilisant des HOF.
  2. Abstraction : Les HOF simplifient la logique complexe en la faisant abstraction.
  3. Modularité : Diviser le code en parties plus petites facilite sa gestion.
  4. Programmation fonctionnelle : Les HOF sont la base de la programmation fonctionnelle, où les fonctions ne contiennent aucun état ni données mutables.

Utilisation de fonctions d'ordre supérieur :

  • Gestionnaires d'événements : Les HOF sont souvent utilisés comme gestionnaires d'événements, qui définissent l'action à entreprendre après un événement spécifique.
  • Programmation asynchrone : Dans les opérations asynchrones, telles que les appels AJAX, les actions à effectuer après un appel AJAX sont déterminées par les HOF.
  • Currying : Le currying décompose la fonction et crée une nouvelle fonction avec des arguments partiels.
  • Composition : Les HOF peuvent être utilisés pour combiner de petites fonctions pour former des fonctions complexes.

Fonctions courantes d'ordre supérieur en JavaScript

JavaScript possède de nombreuses fonctions d'ordre supérieur intégrées, qui sont couramment utilisées pour opérer sur des tableaux. Certains HOF courants sont :

  1. map() : Il applique une fonction spécifiée à chaque élément d'un tableau et renvoie un nouveau tableau.

    javascriptCopy code
    const numbers = [1, 2, 3, 4];
    const doubled = numbers.map(function(num) {
        return num * 2;
    });
    console.log(doubled); // Output: [2, 4, 6, 8]
    
    
    Copier après la connexion
  2. filter(): এটি একটি array-এর উপাদানগুলোকে একটি নির্দিষ্ট condition-এর ভিত্তিতে ফিল্টার করে এবং একটি নতুন array রিটার্ন করে।

    javascriptCopy code
    const ages = [18, 21, 16, 25, 30];
    const adults = ages.filter(function(age) {
        return age >= 18;
    });
    console.log(adults); // Output: [18, 21, 25, 30]
    
    
    Copier après la connexion
  3. reduce(): এটি একটি array-কে একটি single value-তে রিডিউস করে, একটি accumulator ব্যবহার করে।

    javascriptCopy code
    const numbers = [1, 2, 3, 4];
    const sum = numbers.reduce(function(acc, num) {
        return acc + num;
    }, 0);
    console.log(sum); // Output: 10
    
    Copier après la connexion
  4. forEach(): এটি একটি array-এর প্রতিটি উপাদানে নির্দিষ্ট ফাংশন অ্যাপ্লাই করে, কিন্তু কোনো নতুন array রিটার্ন করে না।

    javascriptCopy code
    const numbers = [1, 2, 3];
    numbers.forEach(function(num) {
        console.log(num * 2); // Output: 2, 4, 6
    });
    
    Copier après la connexion
  5. Function Returning Function : JavaScript-এ, ফাংশন Higher-Order Functions এর মাধ্যমে অন্য একটি ফাংশনকে রিটার্ন করতে পারে। এটি শক্তিশালী কৌশল যেমন currying এবং function composition করতে সক্ষম করে।

javascriptCopy code
function createMultiplier(multiplier) {
    return function(number) {
        return number * multiplier;
    };
}

const double = createMultiplier(2);
const triple = createMultiplier(3);

console.log(double(5)); // Output: 10
console.log(triple(5)); // Output: 15
Copier après la connexion

এই উদাহরণে, createMultiplier একটি Higher-Order Function যা একটি ফাংশনকে রিটার্ন করে যা একটি সংখ্যাকে গুণ করবে নির্দিষ্ট multiplier দিয়ে।

  1. Callback Functions : Callback Functions হল একটি ফাংশন যা একটি অন্য ফাংশনের আর্গুমেন্ট হিসেবে পাস করা হয় এবং প্রয়োজন অনুযায়ী সেই ফাংশনের ভিতরে এক্সিকিউট করা হয়। Callback Functions মূলত Higher-Order Functions এর একটি বিশেষ রূপ।
javascriptCopy code
function fetchData(callback) {
    setTimeout(function() {
        callback("Data fetched successfully!");
    }, 1000);
}

fetchData(function(message) {
    console.log(message); // Output: "Data fetched successfully!"
});
Copier après la connexion

এই উদাহরণে, fetchData একটি HOF, যা একটি ফাংশনকে আর্গুমেন্ট হিসেবে নেয় এবং সেটাকে নির্দিষ্ট সময় পরে কলব্যাক হিসেবে কল করে।

Conclusion

Higher-Order Functions JavaScript-এ একটি শক্তিশালী এবং বহুমুখী কনসেপ্ট যা কোডকে আরও সংগঠিত, পুনঃব্যবহারযোগ্য, এবং পরিষ্কার করে তোলে। ফাংশনকে ফার্স্ট-ক্লাস সিটিজেন হিসেবে গ্রহণ করে, JavaScript ডেভেলপারদের বিভিন্ন প্রোগ্রামিং প্যাটার্ন অনুসরণ করতে দেয়, যা ডেভেলপমেন্টকে আরও কার্যকর করে তোলে।

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