Задать вопрос
@agromov91

Eslint ругается на i в циклах?

Только в процессе изучения js, поставил eslint
В итоге в каждом цикле кроме первого ругается ан переменную i, что такая уже есть в коде выше.

Смотреть в сторону настроек eslint? Или что-то не так с циклами у меня может быть?
  • Вопрос задан
  • 176 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 2
badJaguar
@badJaguar
Full-Stack Software Engineer
Здравствуйте! Исходя из личного опыта могу ответить почему так происходит. Основная причина, как я понял, более опытные эксперты могут меня поправить, это - область видимости переменных. Дело в том, что если вы пропишите вместо
(const i in names) {
}

(var i in names) {
}

то эту переменную "i" можно будет переопределить где-либо от куда к ней будет доступ. А если у вас в одном блоке кода (функция это или метод) присутствует два цикла итерации, то велика вероятность появления ошибок. Также, eslint учитывает naming conventions. И так, к пр меру, вместо (const i in names) лучше писать (const name in names) или (const card in cards). В связи с этим код становится более читаем и понятен для Ваших будущих коллег, так как если Вы решите строить карьеру в IT, то Вы вынуждены будете работать в команде. Надеюсь я Вам помог
Ответ написан
@MamaLuyba
Переменные вида "i, x, j etc." - такое себе решение, стоит сказать. Во-первых, легко нагородить дублей (как в данном случае), так и запутаться (а что это вообще за переменная), если часть кода достаточно длинная, и переменных там больше двух.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы