Возвращает NaN, потому что это то, что вы предоставляете в качестве аргумента для вашего метода:
console.log(Number('10,000,000'));
Здесь вы можете видеть, что, если вы не используете Number()
, он работает как положено.
function transform(val) {
let transformedVal;
if (val === undefined || val === null) {
transformedVal = ""
} else {
transformedVal = val.toString().replace(/,/g, "");
}
return transformedVal;
}
console.log(transform(Number('10,000,000')));
console.log(transform('10,000,000'));
В ответ на комментарий ...
console.log(typeof('10,000,000'));
console.log(typeof(10000000));
console.log(10,000,000);