typescript/no-misused-new 정확성
작동 방식
new와 constructor의 유효한 정의를 강제합니다. 이 규칙은 클래스가 new라는 이름의 메서드를 정의하거나, 인터페이스가 constructor라는 이름의 메서드를 정의하는 것을 막습니다.
왜 좋지 않은가?
자바스크립트 클래스는 클래스 인스턴스가 새로 생성될 때 실행되는 constructor 메서드를 정의할 수 있습니다.
타입스크립트는 정적 클래스 객체를 설명하는 인터페이스가 new() 메서드를 정의할 수 있도록 허용합니다 (그러나 실제 코드에서는 거의 사용되지 않습니다). 자바스크립트 클래스나 타입스크립트 인터페이스에 익숙하지 않은 개발자는 종종 constructor와 new 중 어떤 것을 사용해야 하는지 혼동하기 쉽습니다.
예시
이 규칙에 부적절한 코드 예시:
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