Анализатор обнаружил присваивание в условии. Скорее всего, вместо присваивания подразумевался оператор сравнения.
Рассмотрим пример:
function foo() {
let mode = ....;
if (mode = 1) { // <=
return;
}
....
}
В коде допущена опечатка: вместо сравнения переменной mode с единицей происходит присваивание значения. В итоге из-за опечатки условие всегда будет истинно, и код не будет работать так, как изначально предполагалось.
Корректный вариант кода выглядит следующим образом:
if (mode == 1) {
....
}
В некоторых случаях присваивание внутри условия может быть использовано для сокращения размера кода:
let result = ....;
while (result = exec()) {
....
}
Стоит отметить, что это плохая практика: при работе с подобным кодом нужно тратить больше времени на его изучение, чтобы понять, является ли он следствием опечатки или желанием сократить программу.
Если всё же требуется выполнить присваивание в условии, можно дополнительно заключить его в скобки:
while ((result = exec()))
....
Анализатор и многие компиляторы/интерпретаторы воспринимают подобный код как безопасный. Также это подсказка человеку, что код не содержит ошибку.

Вы нашли спрятанный ссееккрреетт и, возможно, успеете забрать один из ппррииззоовв. Подробнее.
Диагностическое правило классифицируется как:
Была ли полезна эта страница документации?
Мы ответим вам на:
Если вы так и не получили ответ, пожалуйста, проверьте, отфильтровано ли письмо в одну из следующих стандартных папок: