no-duplicate-case
Запрещает повторяющиеся метки case
Использование конфигурации recommended из @eslint/js в файле конфигурации включает это правило
Если в инструкции switch в предложениях case есть повторяющиеся проверочные выражения, вероятно, программист скопировал предложение case, но забыл изменить проверочное выражение.
Подробности правила
Это правило запрещает повторяющиеся проверочные выражения в предложениях case инструкций switch.
Примеры неправильного кода для этого правила:
/*eslint no-duplicate-case: "error"*/
const a = 1,
one = 1;
switch (a) {
case 1:
break;
case 2:
break;
default:
break;
}
switch (a) {
case one:
break;
case 2:
break;
default:
break;
}
switch (a) {
case "1":
break;
case "2":
break;
default:
break;
}
Примеры правильного кода для этого правила:
/*eslint no-duplicate-case: "error"*/
const a = 1,
one = 1;
switch (a) {
case 1:
break;
case 2:
break;
case 3:
break;
default:
break;
}
switch (a) {
case one:
break;
case 2:
break;
case 3:
break;
default:
break;
}
switch (a) {
case "1":
break;
case "2":
break;
case "3":
break;
default:
break;
}
Параметры
У этого правила нет параметров.
Когда не следует использовать это правило
В редких случаях, когда одинаковые проверочные выражения в предложениях case возвращают разные значения, что неизбежно означает, что выражения вызывают побочные эффекты и зависят от них, это правило придётся отключить.
switch (a) {
case i++:
foo();
break;
case i++: // eslint-disable-line no-duplicate-case
bar();
break;
}
Версия
Это правило добавлено в ESLint v0.17.0.
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-duplicate-case