Sofiane Boumedine Lexique Dev

bind / call / apply

JavaScript 🟡 Mid

Type : Method

Definition

Trois methodes pour controler la valeur de this. call et apply executent la fonction immediatement (apply prend un tableau d'args), bind retourne une nouvelle fonction avec this fige.

Analogie

call : tu appelles quelqu'un en lui donnant un role. apply : pareil mais tu lui donnes une liste de consignes. bind : tu lui attribues un role permanent.

Exemple de code

function greet(msg) { console.log(class="str">`${msg}, ${this.name}`); }
const user = { name: class="str">'Alice' };
greet.call(user, class="str">'Salut');    class="cmt">// Salut, Alice
greet.apply(user, [class="str">'Hello']); class="cmt">// Hello, Alice
const bound = greet.bind(user);
bound(class="str">'Hey');                 class="cmt">// Hey, Alice

Cas d'usage

Reutiliser une methode d'un objet dans un autre contexte, ou figer this pour un event handler.

coreinterview-question