ПРИХОДИТЕ УЧИТЬСЯ НОВОЙ ПРОФЕССИИ ЛЕТОМ СО СКИДКОЙ ДО 70%Забронировать скидку

Решение ошибки 'missing radix parameter' в JavaScript

Пройдите тест, узнайте какой профессии подходите и получите бесплатную карьерную консультацию
В конце подарим скидку до 55% на обучение
Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Чтобы избежать предупреждений от JSLint, всегда указывайте второй аргумент функции parseInt – основание системы счисления. Для десятичных чисел это значение должно составлять 10:

JS
Скопировать код
var decimal = parseInt("10", 10);

Такая практика предотвращает неверное восприятие чисел с ведущими нулями как восьмеричных и обеспечивает одинаковое поведение в различных средах JavaScript.

Пройдите тест и узнайте подходит ли вам сфера IT
Пройти тест

Более глубокий взгляд на основание системы счисления

Параметр основания системы счисления всегда следует явно задавать в функции parseInt. Это делает распознавание чисел корректным. Его отсутствие может привести к ошибкам в старых браузерах и при использовании строгого режима, когда строки могут быть неверно интерпретированы, что приводит к непредсказуемым результатам.

Неприятности из-за отсутствия указания основания системы счисления

  • Строки типа "08" или "09" станут равны 0, так как их значения некорректны в восьмеричной системе.
  • Ведущий ноль в "010" превратится в восьмеричное число 8, а не в десять.

Улучшаем совместимость кода

Для однозначного выполнения кода во всех браузерах всегда используйте аргумент основания системы счисления.

Рассмотрите использование альтернатив parseInt

Если вы работаете с десятичными числами, можно использовать функцию Number() для их преобразования, так как она не требует явного указания системы счисления.

Лучшие принципы написания аккуратного кода

Стремитесь к ясности

Ясный код проще поддерживать, а явное указание основания системы счисления в parseInt() способствует такому ясному пониманию.

Отдавайте предпочтение Number

Если все входные данные представляют собой десятичные числа без ведущих нулей, то Number() будет наиболее разумным выбором.

Правильно настройте Linter

Вы можете отключить предупреждения в JSLint или JSHint, но делайте это, осознавая возможные последствия. Некоторые требования, включая указание основания системы счисления, важны для вашего кода.

Визуализация

Параметр основания системы счисления можно представить как спидометр:

Использование parseIntСпидометр
Без указания основания🔴 Риск недопонимания
С указанием основания (например, 10)🟢 Ясность и надёжность

Так, основание системы счисления может быть сравнено с передачей в автомобиле, которая помогает нам безопасно и точно добраться до нужного пункта назначения.

JS
Скопировать код
parseInt('010');      // 🚗💨💭 😕 Куда я направляюсь?
parseInt('010', 10);  // 🚗💨🛣️ 😌 Всё под контролем!

Дополнительные советы по использованию parseInt

Идите в ногу со временем

Следите за изменениями и обновлениями в спецификациях ECMAScript на MDN – это ваш компас в быстро меняющемся мире JavaScript.

Обратите внимание на детали

Будьте внимательны к нюансам работы с числами в разных локализациях и при интернационализации.

Пишите код, глядя в будущее

Задание основания системы счисления сегодня может сохранить вас от проблем завтра.

Полезные материалы

  1. parseInt() – JavaScript | MDN — MDN предоставляет полную информацию о parseInt.
  2. Метод JavaScript parseInt() – W3Schools — W3Schools объясняет принцип работы parseInt на понятных примерах.
  3. Почему важно указывать основание системы счисления для parseInt? – Stack Overflow — Обоснование необходимости указывать основание системы счисления.
  4. GitHub – jslint-org/jslint: JSLint — Стартовая точка JSLint и его документация о параметре основания системы счисления.
  5. Основание системы счисления – ESLint — ESLint объясняет, почему указание основания системы счисления важно при проверке JavaScript.
  6. Изучите JavaScript | Codecademy — Интерактивное обучение основам JavaScript на Codecademy.