Skip to content

Latest commit

Β 

History

History
61 lines (45 loc) Β· 3.13 KB

File metadata and controls

61 lines (45 loc) Β· 3.13 KB

no-array-method-this-argument

πŸ“ Disallow using the this argument in array methods.

πŸ’Ό This rule is enabled in the following configs: βœ… recommended, β˜‘οΈ unopinionated.

πŸ”§πŸ’‘ 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 thisArg won't affect it.
  • If you intend to use a custom this in the callback, it's better to use the variable directly or use callback.bind(thisArg).

This rule checks the following array methods that accept thisArg:

This rule is fixable when the callback is an arrow function, the thisArg argument has no side effect, and the fix can be applied without removing comments.

A receiver known not to be an array, such as a Set or a custom type that declares a same-named method, is ignored. Unknown receivers are still reported. A typed array is reported, since it takes the same thisArg parameter.

Examples

// ❌
const foo = bar.find(element => isUnicorn(element), baz);

// βœ…
const foo = bar.find(element => isUnicorn(element));
// ❌
const foo = bar.map(function (element) {
	return this.unicorn(element);
}, baz);

// βœ…
const foo = bar.map(element => {
	return baz.unicorn(element);
});

// βœ…
const foo = bar.map(function (element) {
	return this.unicorn(element);
}.bind(baz));