Как из вот этого "2" сделать numeric?
Есть еще вариант использовать двойное побитовое НЕ
var num = '2';
console.log(typeof ~~num);
Если я правильно понял, и вам нужно из строки получить число, то используйте для этого parseInt():
var str = '2';
console.log(str + 2);
str = parseInt(str);
console.log(str + 2);
Есть еще вариант, писать знак + перед string c цифрами.
var str = '2';
console.log(str + 2);
console.log(+str + 2);
Еще можно сделать с помощью динамической типизации языка JavaScript
var x = "2"
console.log(typeof x)
x=x*1
console.log(typeof x)
после этой операции x будет числом
str * 1)var str = '2.2';
console.log((str * 1) + 2);
var str = '2.2';
console.log((str / 1) + 2);
console.log((str - 0) + 2);
+str)var str = '2.2';
console.log((+str) + 2);
Numbervar str = '2.2';
console.log(Number(str) + 2);
round только для целого числаvar str = '2';
console.log(Math.round(str) + 2);
parseFloat (для целых) и parseFloat (для дробных)Для parseInt иногда стоит указать систему счисления.
var strFloat = '2.2';
var strInt = '2';
console.log(parseFloat(strFloat) + 2);
console.log(parseInt(strInt, 10) + 2);
Если не указать систему счисления:
var result = parseInt("010", 10) == 10; // Returns true
var result = parseInt("010") == 10; // Returns false
Но везде надо быть осторожным. Если в строке встречаются не только числа, но и другие символы, то это может не сработать. Например как написано тут: Разница ParseInt, ParseFloat и Number
Продвижение своими сайтами как стратегия роста и независимости