> Как выполняется цикл с условием сравнения строки и числа в JavaScript? (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: TYMY
Стек: JavaScript
> Пример ответа
В JavaScript при сравнении строки и числа в цикле (например, while или for) происходит неявное приведение типов. Строка преобразуется в число, если это возможно. Если строка не является числом, результатом сравнения будет false, и цикл может не выполниться или выполняться некорректно.
Пример с while:
JAVASCRIPTlet i = 0;let target = "5"; // строкаwhile (i < target) { // строка "5" приводится к числу 5console.log(i);i++;}// Вывод: 0, 1, 2, 3, 4
Здесь "5" становится числом 5, цикл выполняется, пока i < 5.
Если строка нечисловая (например, "abc"), она преобразуется в NaN, и любое сравнение с NaN возвращает false, поэтому цикл не выполнится ни разу:
JAVASCRIPTlet i = 0;while (i < "abc") { // NaN, условие ложноconsole.log(i); // не выполнится}
Для безопасного сравнения рекомендуется явно преобразовывать строку в число с помощью Number() или parseInt():
JAVASCRIPTlet target = "5";let i = 0;while (i < Number(target)) {console.log(i);i++;}
> Похожие задачи по frontend
Как создать массив с числами от 1 до 50 и вывести их в JavaScript?
Как проверить, что первый аргумент является числом в JavaScript?
Как отменить или обработать промис в JavaScript
Что такое среда исполнения JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью