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

参考资料