> Почему parseInt в JavaScript может возвращать NaN и как влияет второй аргумент (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Иннотех
Стек: JavaScript
> Пример ответа
parseInt возвращает NaN, когда первый аргумент (строка) не может быть преобразован в целое число. Это происходит в двух основных случаях: если строка начинается с нечислового символа (например, parseInt("abc") → NaN) или если после преобразования получается значение, выходящее за пределы допустимого диапазона (хотя в JS это редкость, так как NaN возникает именно на этапе разбора).
Второй аргумент - основание системы счисления (radix), число от 2 до 36. Он определяет, как интерпретировать строку. Если radix не указан, parseInt пытается угадать основание: строки, начинающиеся с "0x" или "0X", считаются шестнадцатеричными (radix 16), а с "0" восьмеричными (radix 8, но в ES5 это поведение изменилось, и теперь "0" может трактоваться как десятичное). Неправильный radix может привести к NaN: например, parseInt("10", 2) вернёт 2 (так как "10" в двоичной системе - это 2), а parseInt("10", 1) вернёт NaN, так как основание 1 недопустимо. Всегда рекомендуется явно указывать radix, чтобы избежать неожиданностей: parseInt("10", 10).
> Похожие задачи по frontend
Чем собственные свойства отличаются от унаследованных в JavaScript
Какие способы есть для итерации по объекту в JavaScript кроме for-in
На какой стадии отрабатывают внешние нецелевые обработчики событий в DOM
Как вызвать функцию, чтобы this указывал на нужный объект, а не на window в JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью