Disallow assigning this to a variable ​
💼 This rule is enabled in the ✅ recommended config.
this should be used directly. If you want a reference to this from a higher scope, consider using arrow function expression or Function#bind().
Fail ​
js
const foo = this;
setTimeout(function () {
foo.bar();
}, 1000);js
const foo = this;
class Bar {
method() {
foo.baz();
}
}
new Bar().method();Pass ​
js
setTimeout(() => {
this.bar();
}, 1000);js
setTimeout(function () {
this.bar();
}.bind(this), 1000);js
class Bar {
constructor(fooInstance) {
this.fooInstance = fooInstance;
}
method() {
this.fooInstance.baz();
}
}
new Bar(this).method();