unicorn/no-array-callback-reference Pedantic
它的作用
阻止将函数引用直接传递给迭代器方法。
为什么这不好?
将函数传递给迭代器方法可能会引发问题,因为函数在不知不觉中被修改了,而迭代器会向它额外传递 2 个参数(索引和数组)。 当函数签名发生变化时,这可能导致意外行为。
示例
以下是此规则的错误代码示例:
js
const foo = array.map(callback);
array.forEach(callback);
const result = array.filter(lib.method);以下是此规则的正确代码示例:
js
const foo = array.map((element) => callback(element));
array.forEach((element) => {
callback(element);
});
const result = array.filter((element) => lib.method(element));
// 内置函数是允许的
const foo = array.map(String);
const bar = array.filter(Boolean);如何使用
To enable this rule using the config file or in the CLI, you can use:
json
{
"rules": {
"unicorn/no-array-callback-reference": "error"
}
}ts
import { defineConfig } from "oxlint";
export default defineConfig({
rules: {
"unicorn/no-array-callback-reference": "error",
},
});bash
oxlint --deny unicorn/no-array-callback-reference版本
此规则于 v1.19.0 中新增。
