tgoop.com/prog_way_blog/210
Create:
Last Update:
Last Update:
Преобразование унарным плюсом
Является ли преобразование унарным плюсом самым быстрым способом преобразования строки в число?
Если коротко давать ответ: да, является. Но не всё так однозначно.
Преобразование унарным плюсом, то есть записью
const string = '5'
const number = +string // 5
действительно является сравнительно более быстрым способом преобразования строки в число, чем при использовании глобальных функций
parseInt
или parseFloat
, но стоит помнить, что такая запись может привести к неожиданным результатам, если строка содержит некорректные символы. Кроме того, мы не всегда можем получить ожидаемый результат в, казалось бы, самых простых кейсах, например:
const string = ""
+string // 0
parseInt(string) // NaN
В этом случае, то, каким образом работает
parseInt
, мне кажется более ожидаемым и правильным.Использование унарным плюсом зачастую можно считать плохой практикой и сделать выбор в пользу глобальных функций, не смотря на то, что унарный плюс работает действительно быстрее. Правда, с оговоркой, что быстрее, но не значительно. Разницу в производительности можно заметить только на невероятно больших данных.
Использование же
parseInt
и parseFloat
даёт более ожидаемый результат и более наглядно. При беглом просмотре кода унарный плюс можно и вовсе не заметить, чего не скажешь о вызове полноценной функции.Кстати, ещё можно преобразовать строку к числу при использовании глобального конструктора числа
Number
:const string = "123"
const number = Number(string) // 123
Но такой способ будет работать дольше, чем
parseInt
и parseFloat
.В своей практике, я использую только глобальные функции для преобразования строки к числу. И вам советую.
#web #javascript #data
BY progway — программирование, IT
Share with your friend now:
tgoop.com/prog_way_blog/210