Comment utiliser les flèches dans les méthodes d'une classe sans perdre le this?
#1
Salut tout le monde. Je suis un peu dans le flou sur un truc de style de code. Sur un projet perso, j’ai commencé à écrire mes fonctions en utilisant systématiquement des expressions de fonction fléchées, je trouve ça plus lisible pour les petites callbacks. Mais là, en relisant un vieux module, je me demande si c’est vraiment une bonne idée de l’utiliser partout, notamment pour les méthodes dans une classe. Des collègues m’ont dit que ça pouvait poser problème avec le `this`, mais je ne suis pas sûr de bien saisir toutes les implications. Vous avez déjà eu ce genre de doute, où un choix qui paraît propre au début finit par semer le doute plus tard ?
Répondre
#2
Bonne question this peut sembler propre mais ce choix a des effets plus profonds dans une classe. Employer des méthodes fléchées pour des callbacks d'une instance lie this directement a chaque objet et on perd le lien avec le prototype. Du coup l heritage peut devenir casse et la memoire peut aussi varier.
Répondre
#3
Je suis un peu sceptique this peut paraitre elegant mais sur le long terme cela peut compliquer les tests et la maintenance. Avec des fleches dans une classe on peut bloquer le comportement du prototype et du coup on se retrouve a devoir binder ou re ecrire des methodes dans les sous classes.
Répondre
#4
Pour moi ce sujet c est surtout une question de contexte this. Pour des callbacks rapides les flèches c est pratique mais pour des methodes de classe mieux de passer par des fonctions normales pour garder le lien avec le prototype et permettre une vraie hierarchie.
Répondre
#5
On dirait que certains lecteurs qui lisent vite aiment le style des fleches et d autres prefere le style plus traditionnel. this est le mot cle au centre et il faut sentir quand il faut l attacher au bon endroit.
Répondre
#6
J aime tester ce type de choix avec de petits tests car le vrai souci c est la reutilisation et le comportement dans l heritage. Le mot cle this revient mais le rythme du code change et la lisibilite peut se degrader si on abuse des fleches.
Répondre
#7
Et si on reformule le probleme this n est pas vraiment le vrai sujet ce qui importe peut etre le but de la methode et la maniere dont on veut la reutiliser dans des contextes differents. Peut etre que l enjeu ce n est pas this mais le contrat de l API.
Répondre


[-]
Réponse rapide
Message
Saisissez votre réponse à ce message ici.

Code de confirmation
Veuillez saisir le texte figurant dans l’image ci-dessous. Ce procédé permet de bloquer les robots.
Code de confirmation
(insensible à la casse)

Aller au forum