J'ai cette fonction func
, toujours appelée func.bind(this)
. Pour func
, il est implicitement supposé que le contexte this
de la fonction est toujours le contexte this
de l'appelant. Cela semble un peu répétitif et appeler func
comme ceci peut évidemment conduire à une mauvaise utilisation, car certains utilisateurs pourraient facilement oublier d'appeler func
sans le lier à this
. Je me demandais s'il existait un moyen concis de toujours utiliser le contexte this
de son appelant.Existe-t-il un idiome Javascript où la fonction `func` est appelée` func.bind (this) `
Je pensais à utiliser une méthode d'ordre supérieur qui force l'utilisateur à entrer le contexte de l'appelant. La méthode ressemblerait à ce qui suit:
function createFunc(context) {
return function func() {
// rather than call `this`, you use the input parameter, `context`.
}
}
Les deux fonctionnent. Utiliser la nouvelle syntaxe '() => {}' de ES6 pour définir les fonctions liera implicitement 'this' à' this' de l'appelant également. – Shadow
'sera implicitement lier cela à l'appelant'' - cela ne semble pas tout à fait raison –
Je ne pense pas avoir compris votre question/problème. Pouvez-vous donner un exemple concret? * "Je me demandais s'il y avait une façon concise de toujours utiliser le contexte de l'appelant." * Non. L'appelant devrait définir "this" explicitement au moment de l'appel. –