Skip to content
← Back to rules

eslint/no-unused-private-class-members 正しさ

This rule is turned on by default.

何をするか

使用されていないプライベートクラスメンバーを禁止します

なぜ問題なのか

コード内で宣言されてもどこにも使われていないプライベートクラスメンバーは、不完全なリファクタリングによる誤りの可能性が非常に高いです。このようなクラスメンバーはコード内の無駄な領域を占め、読者にとって混乱を招く原因になります。

このルールに違反する誤ったコードの例:

javascript
class A {
  #unusedMember = 5;
}

class B {
  #usedOnlyInWrite = 5;
  method() {
    this.#usedOnlyInWrite = 42;
  }
}

class C {
  #usedOnlyToUpdateItself = 5;
  method() {
    this.#usedOnlyToUpdateItself++;
  }
}

class D {
  #unusedMethod() {}
}

class E {
  get #unusedAccessor() {}
  set #unusedAccessor(value) {}
}

このルールに準拠する正しいコードの例:

javascript
class A {
  #usedMember = 42;
  method() {
    return this.#usedMember;
  }
}

class B {
  #usedMethod() {
    return 42;
  }
  anotherMethod() {
    return this.#usedMethod();
  }
}

class C {
  get #usedAccessor() {}
  set #usedAccessor(value) {}

  method() {
    this.#usedAccessor = 42;
  }
}

使い方

設定ファイルまたは CLI でこのルールを有効化するには、以下のように使用できます:

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

参照