Skip to content

unicorn/no-array-method-this-argument Style

🚧 An auto-fix is still under development.

What it does

Disallows the use of the thisArg parameter in array iteration methods such as map, filter, some, every, and similar.

Why is this bad?

The thisArg parameter makes code harder to understand and reason about. Instead, prefer arrow functions or bind explicitly in a clearer way. Arrow functions inherit this from the lexical scope, which is more intuitive and less error-prone.

Examples

Examples of incorrect code for this rule:

js
array.map(function(x) {
  return x + this.y;
}, this);
array.filter(function(x) {
  return x !== this.value;
}, this);

Examples of correct code for this rule:

js
array.map(x => x + this.y);
array.filter(x => x !== this.value);
const self = this;
array.map(function(x) {
  return x + self.y;
});

How to use

To enable this rule in the CLI or using the config file, you can use:

bash
oxlint --deny unicorn/no-array-method-this-argument
json
{
  "rules": {
    "unicorn/no-array-method-this-argument": "error"
  }
}

References

Released under the MIT License.