233 of 264 menu

Méthode bind

La méthode bind permet de lier un contexte à une fonction. Le premier paramètre doit être le contexte, et les paramètres suivants sont les paramètres de la fonction. La méthode retourne une nouvelle fonction, dans laquelle this sera égal au contexte transmis.

Syntaxe

fonction.bind(contexte, paramètre1, paramètre2...);

Exemple

Supposons que nous ayons un input :

<input id="elem" value="text">

Supposons que la référence à cet input soit stockée dans la variable elem :

let elem = document.querySelector('#elem');

Supposons également que nous ayons la fonction suivante func :

function func(param1, param2) { console.log(this.value + param1 + param2); }

Utilisons bind pour créer une nouvelle fonction, qui sera une copie de la fonction func, mais this y sera toujours égal à elem :

let newFunc = func.bind(elem);

Maintenant, la variable newFunc contient une fonction. Appelons-la, en passant '1' comme premier paramètre et '2' comme second :

newFunc('1', '2');

Rassemblons le tout :

let elem = document.getElementById('elem'); function func(param1, param2) { console.log(this.value + param1 + param2); } let newFunc = func.bind(elem); newFunc('1', '2'); // affichera 'text12'

Exemple

Il n'est pas nécessaire de stocker le résultat de bind dans une nouvelle fonction newFunc, on peut simplement écraser func :

let func = func.bind(elem);

Voir aussi

  • la méthode call,
    qui appelle une fonction avec un contexte
  • la méthode apply,
    qui appelle une fonction avec un contexte
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser