Considérez ce code simple :
"use strict";
var obj = {
f: function() {
this.prop = 'value';
g.bind( this )();
}
};
function g() {
console.log( this.prop );
}
Si j'essaie de valider ce code, jshint me donne l'erreur Possible strict violation.
lorsque j'appelle console.log( this.prop );
. Cela est dû au fait que this
est indéfini en mode strict dans une fonction.
Mais je lie cette fonction avant de l'appeler, donc this
est le bon objet.
J'utilise ce "pattern de design" pour éviter d'encombrer l'objet principal. Passer les propriétés en paramètres encombrerait également la fonction, ce que je refuse de faire. De plus, c'est exactement à quoi sert bind
.
Existe-t-il un moyen pour JSHint de me permettre de le faire ?