логотип PurpleSchool
Иконка входа
Вход
логотип PurpleSchool

parseInt() в JavaScript

Автор

Дмитрий Фандорин

Функция parseInt() в JavaScript является глобальной и принимает аргументом строку и основание системы счисления в диапазоне от 2 до 36. Она возвращает число, полученное парсингом (разбором и интерпретацией) строки или NaN, если основание не в указанном диапазоне, либо первый символ не удалось преобразовать в число.

Пример 1:

parseInt('12', 10)
// Вывод в консоль: 12

В этом примере мы передаем функции строку '12' и основание системы счисления 10. Функция возвращает число 12.

Пример 2:

parseInt('absa', 10)
// Вывод в консоль: NaN

В этом примере мы передаем функции строку 'absa' и основание системы счисления 10. Функция возвращает NaN, потому что первый символ не удалось преобразовать в число.

Если основание не указано, то оно будет зависеть от содержания строки. По умолчанию будет использоваться десятичная система счисления, если строка начинается с 0x или 0X, то шестнадцатеричная.

Пример 3:

parseInt('120')
// Вывод в консоль: 120

В этом примере мы передаем функции строку '120'. Поскольку основание не указано, функция использует десятичную систему счисления и возвращает число 120.

Пример 4:

parseInt('0x12')
// Вывод в консоль: 18

В этом примере мы передаем функции строку '0x12'. Поскольку строка начинается с префикса '0x', функция использует шестнадцатеричную систему счисления и возвращает число 18.

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

Пример 5:

parseInt('123hello', 10)
// Вывод в консоль: 123

В этом примере мы передаем функции строку '123hello' и основание системы счисления 10. Функция возвращает число 123, поскольку парсинг прервался на символе 'h', который не удалось конвертировать в число.

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

Карта развития разработчика

Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile