Tu sais que c'est super simple, hein…  J'ai moi-même affiné mon discours 
au fil des JS Puissant / Total.

En gros, le SEUL cas où une fonction préserve son binding implicite, 
c'est sur ce type de code :

   sujet.methode(…)

Appel direct sur le sujet qualifié.

Dans n'importe quel autre cas, tu références la méthode au lieu de 
l'appeler, à un moment donné.  Et là, hop, tu perds le binding, point 
barre.  Ton `this` est devenu l'objet global (et pas un autre).  Donc 
`window` dans un navigateur, `global` sur Node, etc.

Et voilà, y'a rien d'autre à savoir :-)

La fat arrow fait un binding manuel au moment de son utilisation.  Elle 
utilise donc bien le `this` en cours à ce moment-là.  Si tu n'es pas 
dans une méthode d'instance OU sur une déclaration de méthode au moment 
où tu le fais, ça va donner des trucs foireux…

Et c'est à utiliser avec précaution si les perfs comptent (rarement pour 
des trucs rapport à l'UI, où tout le reste est bien plus lent), parce 
que ça crée une closure en plus (et donc une anonyme intermédiaire) par 
rapport à un appel direct.

-- 
Christophe Porteneuve
tdd@tddsworld.com