Что такое мягкое преобразование в JavaScript?


#1

Я видел обычное преобразование с помощью Numeric ну и знаю еще что с помощью арифметического оператора можно тоже привести к числовому типу, но что такое мягкое преобразование?


#2

Насколько я понимаю, это преобразование строки символ за символом с помощью таких функций как parseInt и parseFloat, дело в том что преобразив данные с помощью арифметического оператора в некоторых ситуациях мы можем получить значение NaN, например когда пытаемся преобразить данные среди которых есть еще и буквенные символы, а используя же эту функцию мы спокойно можем преобразить до первого несовпадения с числом, вот пример:
alert(+"2px");

alert( parseInt('120px') );

alert( parseInt('20px23') );

alert( parseInt('1.2231312124.2414') );

alert( parseInt('1223.6312124.2414') );

alert( parseInt('px420') );

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