跳至内容

typescript/adjacent-overload-signatures 样式

作用

需要函数重载签名连续。

为什么不好?

函数重载签名代表了一个函数可能被调用的多种方式,可能返回的类型不同。在描述一个函数的接口或类型别名时,将所有重载签名放在一起是惯例做法。如果签名分散在类型的其他位置,那么将来的开发者在阅读代码时很容易忽视。

示例

typescript
declare namespace Foo {
  export function foo(s: string): void;
  export function foo(n: number): void;
  export function bar(): void;
  export function foo(sn: string | number): void;
}

type Foo = {
  foo(s: string): void;
  foo(n: number): void;
  bar(): void;
  foo(sn: string | number): void;
};

interface Foo {
  foo(s: string): void;
  foo(n: number): void;
  bar(): void;
  foo(sn: string | number): void;
}

class Foo {
  foo(s: string): void;
  foo(n: number): void;
  bar(): void {}
  foo(sn: string | number): void {}
}

export function foo(s: string): void;
export function foo(n: number): void;
export function bar(): void;
export function foo(sn: string | number): void;

参考

根据 MIT 许可证发布。