Skip to content
← Back to rules

eslint/no-dupe-class-members 정확성

This rule is turned on by default.

작동 방식

중복된 클래스 멤버를 허용하지 않습니다.

이 규칙은 TypeScript 코드에서는 비활성화할 수 있습니다. 왜냐하면 TypeScript 컴파일러가 이 검사를 강제하기 때문입니다.

왜 문제가 될까요?

클래스 멤버에서 동일한 이름의 선언이 존재할 경우, 마지막 선언이 다른 선언을 무시하고 덮어쓰게 됩니다. 이로 인해 예기치 않은 동작이 발생할 수 있습니다.

예시

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

javascript
class A {
  foo() {
    console.log("foo");
  }
  foo = 123;
}
let a = new A();
a.foo(); // Uncaught TypeError: a.foo is not a function

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

javascript
class A {
  foo() {
    console.log("foo");
  }
}
let a = new A();
a.foo();

사용 방법

구성 파일이나 명령줄 인터페이스를 통해 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:

json
{
  "rules": {
    "no-dupe-class-members": "error"
  }
}
bash
oxlint --deny no-dupe-class-members

참고자료