J'expérimente avec ES6 depuis un moment maintenant, et je viens juste d'arriver à un léger problème.
J'aime vraiment utiliser les fonctions fléchées, et chaque fois que je peux, je les utilise.
Cependant, il semblerait que vous ne puissiez pas les lier!
Voici la fonction:
var f = () => console.log(this);
Voici l'objet auquel je souhaite associer la fonction:
var o = {'a': 42};
Et voici comment je me lierais f
à o
:
var fBound = f.bind(o);
Et puis je peux simplement appeler fBound
:
fBound();
Ce qui affichera ceci (l' o
objet):
{'a': 42}
Cool! Charmant! Sauf que ça ne marche pas. Au lieu de sortir l' o
objet, il sort l' window
objet.
Alors j'aimerais savoir: pouvez-vous lier des fonctions fléchées? (Et si oui, comment?)
J'ai testé le code ci-dessus dans Google Chrome 48 et Firefox 43, et le résultat est le même.
this
de leur étendue parent.