JSHint "Possible strict violation." when using `bind`
Solution 1:
It is extremely hard to detect this case without running the code. You can use option validthis
to suppress this warning:
"use strict";
var obj = {
f: function() {
this.prop = 'value';
g.bind( this )();
}
};
function g() {
/*jshint validthis:true */
console.log( this.prop );
}
It is to be noted that jshint comments are function scoped. So the comment will work for the function g
and its inner functions, not just the next line.
Solution 2:
You can also achieve the same effect if you modify your code to the following to avoid using this
all together.
"use strict";
var obj = {
f: function() {
this.prop = 'value';
g.bind( null, this )();
}
};
function g(self) {
console.log( self.prop );
}