Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top

Вебинар: Зачем тестировщику нужна безопасность? - 16.04

menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

V7018. The expression 'A || (A && B)' is redundant and always evaluates to 'A'.

03 Апр 2026

Анализатор обнаружил выражение, которое можно упростить. Иногда за такой избыточностью кроются логические ошибки.

Рассмотрим пример подозрительного кода:

let firstCond, secondCond, thirdCond;
....
if (firstCond || (firstCond && thirdCond))
....

Это выражение является избыточным. В случае если firstCond имеет значение true, результат проверки этого условия будет всегда истинным независимо от значения thirdCond. Если же firstCond имеет значение false, то значение выражения будет всегда ложно.

Таким образом, выражение firstCond || (firstCond && thirdCond) можно упростить:

if (firstCond)

Возможно, программист ошибся и написал не ту переменную во втором подвыражении. Тогда корректный код может выглядеть так:

if (firstCond || (secondCond && thirdCond))