Spec-Zone.ru › ESLint

no-self-compare

Запрет сравнений, где обе стороны идентичны

Сравнение переменной с самой собой обычно является ошибкой, либо опечаткой, либо ошибкой рефакторинга. Это сбивает с толку читателя и может потенциально привести к ошибке во время выполнения.

Единственный случай, когда вы можете сравнивать переменную с самой собой, — это проверка на NaN. Однако, гораздо более подходящим способом для этого случая будет использование typeof x === 'number' && isNaN(x) или функции Number.isNaN ES2015, а не оставлять читателю кода пытаться понять намерение такого сравнения.

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

Эта ошибка поднимается, чтобы выделить потенциально запутанный и потенциально бесполезный фрагмент кода. Практически нет ситуаций, когда вам нужно сравнивать что-либо с самим собой.

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

Открыть в Playground
/*eslint no-self-compare: "error"*/

var x = 10;
if (x === x) {
    x = 20;
}

Версия

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

Ссылки

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

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

Spec-Zone.ru

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