Number()
and parseInt()
are often used to convert a string to number.Number()
converts the type whereas parseInt parses the value of input.// ParsingparseInt('32px'); // 32parseInt('5e1'); // 5// Convert typeNumber('32px'); // NaNNumber('5e1'); // 50
parseInt
will parse up to the first non-digit character. On the other hand, Number
will try to convert the entire string.parseInt
accepts two parameters. The second parameter is used to indicate the radix number.parseInt('0101'); // 101parseInt('0101', 10); // 101parseInt('0101', 2); // 5Number('0101'); // 101
undefined
or null
:parseInt(); // NaNparseInt(null); // NaNparseInt(true); // NaNparseInt(''); // NaNNumber(); // 0Number(null); // 0Number(true); // 1Number(''); // 0
parseInt
.parseInt
method takes two parameters:parseInt(value, radix);
0x
or 0X
, then the radix is 16 (hexadecimal)parseInt('0xF'); // 15parseInt('0XF'); // 15parseInt('0xF', 16); // 15parseInt('0xF', 10); // 0
Number()
and parseInt
accept the spaces in input. But be aware that you could get different result when passing a value with spaces as following:parseInt(' 5 '); // 5parseInt('12 345'); // 12, not 12345
parseInt(value.replace(/\s+/g, ''), 10);
new Number()
to compare the numbers.Number('2') == 2; // trueNumber('2') === 2; // truenew Number('2') == 2; // truenew Number('2') === 2; // falseconst a = new Number('2');const b = new Number('2');a == b; // falsea === b; // false
Number()
constructor to convert a string to number, you can use the +
operator:+'010'; // 10+'2e1'; // 20+'0xF'; // 15