Skip to content
← Back to rules

typescript/统一签名 风格

它的作用

禁止那些可以合并为单一签名的重载签名。

为什么这是不好的?

仅在类型、可选参数或剩余参数上有所不同的重复重载签名,比单一统一的签名更难维护和阅读。

示例

此规则的错误代码示例:

ts
function f(a: number): void;
function f(a: string): void;

此规则的正确代码示例:

ts
function f(a: number | string): void;

配置

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

ignoreDifferentlyNamedParameters

type: boolean

默认值: false

比较签名时是否忽略参数名称差异。如果为 false,即使参数类型相同,只要同一位置的参数名称不同,这些签名将不被视为可合并。

ignoreOverloadsWithDifferentJSDoc

type: boolean

默认值: false

比较签名时是否忽略 JSDoc 差异。如果为 false,即使签名本身完全相同,只要最接近的前导块注释不同,这些签名也将不被视为可合并。

如何使用

通过配置文件或 CLI 启用此规则,可以使用:

json
{
  "rules": {
    "typescript/unified-signatures": "error"
  }
}
bash
oxlint --deny typescript/unified-signatures

参考资料