Skip to content
← Back to rules

unicorn/prefer-single-call Pedantic

🛠️ An auto-fix is available for this rule.

作用

强制将多个 Array#{push,unshift}()Element#classList.{add,remove}()importScripts() 合并为一次调用。

取代已弃用的 unicorn/no-array-push-push 规则。

为什么这不好?

对同一个接收者连续多次调用同一个可变参数方法, 可以合并为一次调用,这样更简洁, 而且在性能上可能会略有提升。

示例

以下是此规则的错误代码示例:

javascript
foo.push(1);
foo.push(2);

foo.unshift(1);
foo.unshift(2);

element.classList.add("foo");
element.classList.add("bar");

importScripts("foo.js");
importScripts("bar.js");

以下是此规则的正确代码示例:

javascript
foo.push(1, 2);

foo.unshift(2, 1);

element.classList.add("foo", "bar");

importScripts("foo.js", "bar.js");

配置

此规则接受一个配置对象,包含以下属性:

ignore

类型: string[]

默认值: []

要忽略的方法。

如何使用

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

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

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

版本

该规则在 v1.70.0 中添加。

参考资料