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;