Spec-Zone.ru › ESLint

no-dupe-class-members

Запретить дублирование членов класса

✅ Рекомендуется

Использование конфигурации recommended из @eslint/js в файле конфигурации активирует эту проверку.

Если в членах класса есть объявления с одинаковым именем, последнее объявление безмолвно перезаписывает другие объявления. Это может привести к неожиданному поведению.

class Foo {
  bar() { console.log("hello"); }
  bar() { console.log("goodbye"); }
}

var foo = new Foo();
foo.bar(); // goodbye

Подробное описание правила

Это правило предназначено для выявления использования дублирующихся имен в членах класса.

Примеры

Примеры неправильного кода для этого правила:

Открыть в Playground
/*eslint no-dupe-class-members: "error"*/

class A {
  bar() { }
  bar() { }
}

class B {
  bar() { }
  get bar() { }
}

class C {
  bar;
  bar;
}

class D {
  bar;
  bar() { }
}

class E {
  static bar() { }
  static bar() { }
}

Примеры правильного кода для этого правила:

Открыть в Playground
/*eslint no-dupe-class-members: "error"*/

class A {
  bar() { }
  qux() { }
}

class B {
  get bar() { }
  set bar(value) { }
}

class C {
  bar;
  qux;
}

class D {
  bar;
  qux() { }
}

class E {
  static bar() { }
  bar() { }
}

Когда не следует использовать

Это правило не следует использовать в средах ES3/5.

В ES2015 (ES6) или более поздних версиях, если вы не хотите получать уведомления о дублирующихся именах в членах класса, вы можете безопасно отключить это правило.

Обработка TypeScript

Безопасно отключить это правило при использовании TypeScript, поскольку компилятор TypeScript проверяет это условие.

Версия

Это правило было добавлено в ESLint v1.2.0.

Ресурсы

  • Исходный код правила
  • Исходный код тестов

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-dupe-class-members

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API