PROG_WAY_BLOG Telegram 210
Преобразование унарным плюсом

Является ли преобразование унарным плюсом самым быстрым способом преобразования строки в число?

Если коротко давать ответ: да, является. Но не всё так однозначно.

Преобразование унарным плюсом, то есть записью

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
👍24🔥7🐳32



tgoop.com/prog_way_blog/210
Create:
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

View MORE
Open in Telegram


Telegram News

Date: |

Over 33,000 people sent out over 1,000 doxxing messages in the group. Although the administrators tried to delete all of the messages, the posting speed was far too much for them to keep up. Channel login must contain 5-32 characters The court said the defendant had also incited people to commit public nuisance, with messages calling on them to take part in rallies and demonstrations including at Hong Kong International Airport, to block roads and to paralyse the public transportation system. Various forms of protest promoted on the messaging platform included general strikes, lunchtime protests and silent sit-ins. It’s easy to create a Telegram channel via desktop app or mobile app (for Android and iOS): The administrator of a telegram group, "Suck Channel," was sentenced to six years and six months in prison for seven counts of incitement yesterday.
from us


Telegram progway — программирование, IT
FROM American