> Почему 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).

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью