Skip to content
← Back to rules

eslint/no-useless-constructor 의심스러움

An auto-fix is available for this rule.

작동 방식

클래스의 동작을 변경하지 않고 안전하게 제거할 수 있는 생성자를 허용하지 않습니다.

왜 문제가 되는가?

ES2015에서는 클래스 생성자가 명시되지 않은 경우 기본 생성자를 제공합니다. 따라서 비어 있는 생성자 또는 부모 클래스 생성자로 단순히 위임하는 생성자를 제공하는 것은 불필요합니다.

WARNING

주의: 이 린트 규칙은 부모 생성자의 가시성을 변경하기 위한 목적뿐인 생성자도 경고합니다. 왜냐하면 이 규칙은 부모 생성자가 public, protected, 또는 private인지 여부를 판단하기 위해 타입 정보를 가지지 않기 때문입니다.

예시

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

javascript
class A {
  constructor() {}
}

class B extends A {
  constructor(...args) {
    super(...args);
  }
}

이 규칙에 올바른 코드 예시:

javascript
class A {}

class B {
  constructor() {
    doSomething();
  }
}

class C extends A {
  constructor() {
    super("foo");
  }
}

class D extends A {
  constructor() {
    super();
    doSomething();
  }
}

사용 방법

이 규칙을 설정 파일이나 CLI에서 활성화하려면 다음을 사용할 수 있습니다:

json
{
  "rules": {
    "no-useless-constructor": "error"
  }
}
bash
oxlint --deny no-useless-constructor

참고 자료