✅ This rule is part of the recommended config.
🔧 This rule is auto-fixable.
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.
function foo() {}
foo.apply(null, [42]);
Function.prototype.apply.call(foo, null, [42]);
foo.apply(this, [42]);
Function.prototype.apply.call(foo, this, [42]);
foo.apply(null, arguments);
Function.prototype.apply.call(foo, null, arguments);
foo.apply(this, arguments);
Function.prototype.apply.call(foo, this, arguments);
function foo() {}
Reflect.apply(foo, null, [42]);