Skip to content
← Back to rules

unicorn/prefer-reflect-apply Style

💡 A suggestion is available for this rule.

What it does ​

Disallows the use of Function.prototype.apply() and suggests using Reflect.apply() instead.

Why is this bad? ​

Reflect.apply() is arguably less verbose and easier to understand. In addition, when you accept arbitrary methods, it's not safe to assume .apply() exists or is not overridden.

Examples ​

Examples of incorrect code for this rule:

javascript
foo.apply(null, [42]);

Examples of correct code for this rule:

javascript
Reflect.apply(foo, null);

How to use ​

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

json
{
  "rules": {
    "unicorn/prefer-reflect-apply": "error"
  }
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  rules: {
    "unicorn/prefer-reflect-apply": "error",
  },
});
bash
oxlint --deny unicorn/prefer-reflect-apply

Version ​

This rule was added in v0.0.19.

References ​