Skip to content
← Back to rules

typescript/no-misused-new 정확성

This rule is turned on by default.

작동 방식

newconstructor의 유효한 정의를 강제합니다. 이 규칙은 클래스가 new라는 이름의 메서드를 정의하거나, 인터페이스가 constructor라는 이름의 메서드를 정의하는 것을 막습니다.

왜 좋지 않은가?

자바스크립트 클래스는 클래스 인스턴스가 새로 생성될 때 실행되는 constructor 메서드를 정의할 수 있습니다.

타입스크립트는 정적 클래스 객체를 설명하는 인터페이스가 new() 메서드를 정의할 수 있도록 허용합니다 (그러나 실제 코드에서는 거의 사용되지 않습니다). 자바스크립트 클래스나 타입스크립트 인터페이스에 익숙하지 않은 개발자는 종종 constructornew 중 어떤 것을 사용해야 하는지 혼동하기 쉽습니다.

예시

이 규칙에 부적절한 코드 예시:

typescript
declare class C {
  new(): C;
}
typescript
interface I {
  new (): I;
  constructor(): void;
}

이 규칙에 적절한 코드 예시:

typescript
declare class C {
  constructor();
}
typescript
interface I {
  new (): C;
}

사용 방법

설정 파일 또는 커맨드 라인 인터페이스를 통해 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:

json
{
  "rules": {
    "typescript/no-misused-new": "error"
  }
}
bash
oxlint --deny typescript/no-misused-new

참고 자료