Skip to content
← Back to rules

typescript/unified-signatures 스타일

작동 방식

서로 다른 유형의 오버로드 서명을 하나의 서명으로 통합할 수 있는 경우, 그 서명을 금지합니다.

왜 문제가 되는가?

단일 타입만 다르거나, 옵셔널/스프레드 매개변수의 차이만 있는 중복된 오버로드 서명은 단일 통합 서명보다 유지보수와 읽기 어렵습니다.

예시

이 규칙에 잘못된 코드 예시:

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인 경우, 서명 자체가 동일하더라도 가장 가까운 앞선 블록 주석이 다를 경우, 서명이 통합될 수 없다고 간주합니다.

사용 방법

이 규칙을 설정 파일 또는 명령줄 인터페이스에서 활성화하려면 다음을 사용할 수 있습니다:

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

참고 자료