0Pricing
JavaScript Academy · Leçon

Pièges de l’extraction de méthodes et application partielle

Corrigez l’extraction de méthodes avec call/apply/bind et découvrez de petits modèles d’application partielle avec bind et des fonctions fléchées enveloppes

Pièges de l’extraction de méthodes et application partielle est une leçon JavaScript Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage JavaScript Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours JavaScript Academy comprend 3 leçons au total.

Vue d'ensemble

Objectif : conserver this après une extraction et préremplir des arguments.

  • call(thisArg, a, b)
  • apply(thisArg, [a, b])
  • bind(thisArg, a) → renvoie une nouvelle fonction
  • Application partielle avec bind ou une petite arrow
Pièges de l’extraction de méthodes et application partielle — illustration 1

Piège de l'extraction

L'appel sous la forme obj.method() fonctionne, mais l'extraction de la fonction fait perdre l'objet et perturbe this.

// Extraction loses this
const user = {
  name: "Ayla",
  label: function (prefix) {
    return prefix + ":" + this.name;
  }
};

console.log("method call:", user.label("Hi")); // "Hi:Ayla"

// Extract
const f = user.label;
console.log("extracted:", f("Hi")); // this is missing -> "Hi:undefined" (in strict mode this is undefined)
Pièges de l’extraction de méthodes et application partielle — illustration 2

call/apply ponctuels

call et apply permettent de définir this pour un seul appel.

// Fix by passing this explicitly using call/apply
console.log("call :", f.call(user, "Hi"));   // "Hi:Ayla"
console.log("apply:", f.apply(user, ["Yo"])); // "Yo:Ayla"
Pièges de l’extraction de méthodes et application partielle — illustration 3

bind pour réutiliser

bind crée une fonction qui mémorise this. Appelez-la de nombreuses fois sans refaire l'association.

// bind returns a new function with this fixed
const bound = f.bind(user);
console.log("bound once:", bound("Hey")); // "Hey:Ayla"
console.log("bound again:", bound("Yo")); // "Yo:Ayla"
Pièges de l’extraction de méthodes et application partielle — illustration 4

Application partielle (simple)

Utilisez bind pour préremplir les arguments initiaux, ou une petite enveloppe arrow pour figer les valeurs et this.

// Partial application: pre-fill arguments
function add(a, b, c) { return a + b + c; }

// Using bind: pre-fill a=10
const add10 = add.bind(null, 10);
console.log("add10(1,2):", add10(1, 2)); // 13

// Using an arrow wrapper: pre-fill prefix
const labelHi = function (obj) {
  return function () { return obj.label("Hi"); };
}(user);

console.log("arrow partial:", labelHi()); // "Hi:Ayla"
Pièges de l’extraction de méthodes et application partielle — illustration 5

Schémas pratiques

Conseils :

  • Méthodes extraites : utilisez bind une fois, puis réutilisez le résultat.
  • Appels ponctuels : utilisez call/apply.
  • Besoin d'arguments préremplis ? Utilisez bind ou une petite enveloppe arrow.
  • Gardez les fonctions auxiliaires petites et nommez-les clairement.
Pièges de l’extraction de méthodes et application partielle — illustration 6

Question sur bind et call/apply

Vérification rapide : préserver this et préremplir des arguments.

Pièges de l’extraction de méthodes et application partielle — illustration 7

Récapitulatif

Récapitulatif : l'extraction fait perdre this. Utilisez call/apply pour les appels ponctuels et bind pour fixer this et réutiliser la fonction. Pour les applications partielles, utilisez bind ou une petite arrow afin de préremplir les valeurs.

Pièges de l’extraction de méthodes et application partielle — illustration 8

Questions Fréquemment Posées

La leçon « Pièges de l’extraction de méthodes et application partielle » est-elle gratuite ?

Oui — le texte complet de « Pièges de l’extraction de méthodes et application partielle » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours JavaScript Academy, passe à CoddyKit PRO. Le cours JavaScript Academy comprend 3 leçons au total.

Qu'est-ce que j'apprendrai dans « Pièges de l’extraction de méthodes et application partielle » ?

Corrigez l’extraction de méthodes avec call/apply/bind et découvrez de petits modèles d’application partielle avec bind et des fonctions fléchées enveloppes Tu pratiques JavaScript Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer JavaScript Academy ?

Aucune expérience préalable n'est requise. JavaScript Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 3.

Combien de temps prend la leçon « Pièges de l’extraction de méthodes et application partielle » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon JavaScript Academy ?

Oui. Chaque leçon JavaScript Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. this lexical ou dynamique, retour sur les fonctions fléchées
  2. Pièges de l’extraction de méthodes et application partielle
  3. Alternatives fonctionnelles — transmettre le contexte, fermetures et petits utilitaires
← Retour à JavaScript Academy