Как преобразовать строку в число
Короткий ответ
Функция Number() преобразует всю строку целиком:
console.log(Number('42') + 1);Результат:
43Строка с лишними символами
Number() для такой строки вернёт NaN, а parseInt() и parseFloat() разберут цифры в начале:
console.log(Number('42px'));
console.log(parseInt('42px', 10));
console.log(parseFloat('3.14em'));Результат:
NaN
42
3.14Проверить результат
Значение NaN не равно даже самому себе, поэтому его проверяют через Number.isNaN():
const value = Number('abc');
console.log(Number.isNaN(value));Результат:
trueУнарный плюс
+ перед значением работает как Number(). Это коротко, но Number() читается проще:
const input = '15';
console.log(+input + 5);Результат:
20Частая ошибка
Значения из форм — строки, и + со строкой склеивает, а не складывает. Преобразуйте до вычислений:
const quantity = '2';
console.log(quantity + 1);
console.log(Number(quantity) + 1);Результат:
21
3Функции из этого ответа
- Number() — Превращает значение в число.
- parseInt — Преобразует строку в целое число.
- parseFloat — Читает дробное число из начала строки.
- Number.isNaN — Проверяет, что значение — NaN, без преобразования типов.