Disallow using the this argument in array methods ​
💼 This rule is enabled in the ✅ recommended config.
🔧💡 This rule is automatically fixable by the --fix CLI option and manually fixable by editor suggestions.
The rule disallows using the thisArg argument in array methods:
- If the callback is an arrow function or a bound function, the
thisArgwon't affect it. - If you intent to use a custom
thisin the callback, it's better to use the variable directly or usecallback.bind(thisArg).
This rule checks following array methods accepts thisArg:
Array.from()Array#every()Array#filter()Array#find()Array#findLast()Array#findIndex()Array#findLastIndex()Array#flatMap()Array#forEach()Array#map()Array#some()
This rule is fixable when the callback is an arrow function and the thisArg argument has no side effect.
Fail ​
js
const foo = bar.find(element => isUnicorn(element), baz);js
const foo = bar.map(function (element) => {
return this.unicorn(element);
}, baz);Pass ​
js
const foo = bar.find(element => isUnicorn(element));js
const foo = bar.map(function (element) => {
return baz.unicorn(element);
});js
const foo = bar.map(function (element) => {
return this.unicorn(element);
}.bind(baz));