JavaScript

Не правельно складываются переменные js

Не правельно складываются переменные js

let price1 = $('#1').text().replace(/[^0-9]/g, ''),
price2 = $('#2').text().replace(/[^0-9]/g, ''),

let sum = price1 + price2;
console.log(sum);

И все складывается как строковые значения, а мне нужно чтобы все складывалось как цыфры. Что делаю не так?
replace всегда возвращает строку.
__________________________________________

let price1 = + $('#1').text().replace(/[^0-9]/g, '');
let price2 = + $('#2').text().replace(/[^0-9]/g, '');

let sum = price1 + price2;
console.log(sum);
__________________________________________

Это называется унарный плюс... превращает строку в число. Пустую строку превратит в 0, а если в строке будет что-то другое кроме цифр - будет NaN;

P.s. вместо [^0-9] можно написать replace(/\D/g, "")

\d — означает "цифра", а
\D — всё, кроме цифр.

P.s.-2 если где-то в коде есть хитрое выражение и не очевидно, что там делает плюс, можно превращать строку в число более явно,

let x = "" + 1 + ( Number("15") + 5 ) + " $";
console.log( x ) // "120 $"
Галбинур Агазаде
Галбинур Агазаде
62 360
Лучший ответ
Александр Пономаренко блин, спасибо вам большое
Нет ты всё делаешь правильно, не переживай ты большой молодец.

Но вот только JS при сложении строк, он складывает не числа а строки, все что получаешь из текстовых полей, из содержимого элемента, все они попадаются в виде строковых значений.
В JS бинарный оператор + используется для конкатенации строк и сложения чисел, если хотя бы один из операндов + является строкой, то и все другие будут преобразованы к строке, а уже потом будут объединяться в одну строку.

Для решения этой проблемы используй знания по приведению типов.

Изучай JS видно что ты его даже не ИЗУЧАЛ или если изучал то плохо осваивал темы.
Прежде чем переться кодить на фреймворке изучи сам язык на достаточном уровне и попрактикуйся без фреймворков. Многие веб-макаки до конца не изучив JS прутся делать что-то на фреймворках и считают себя богами программирования.

learn.javascript.ru - ресурс который поможет изучить JavaScript от нуля до про.
Галбинур Агазаде Не вижу в вопросе фреймворков))

Библиотеку - вижу...