Comme vous le savez, il existe une proposition de raccourci pour la fonction .bind()
, afin que vous puissiez écrire:
::this.handleStuff
et cela fonctionnera comme ça dans es5:
this.handleStuff.bind(this)
Ma question est la suivante: sera-t-il possible de passer des arguments de cette façon?
Je veux dire une façon d'écrire ceci avec le raccourci susmentionné:
this.handleStuff.bind(this, 'stuff')
C'est un modèle assez commun dans React, il serait donc agréable de le raccourcir un peu.
Non. opérateur de liaison ( proposition de spécification ) est disponible en deux versions:
Méthode d'extraction
::obj.method ≡ obj.method.bind(obj)
appels "méthodes virtuelles"
obj::function ≡ function.bind(obj)
obj::function(…) ≡ function.call(obj, …)
Aucune d'entre elles ne comporte application partielle . Pour ce que vous voulez, vous devriez utiliser une fonction de flèche:
(...args) => this.handleStuff('stuff', ...args) ≡ this.handleStuff.bind(this, 'stuff')