[X]

Number() Versus parseInt

luljs still works

Number() reads whitespace, hex and empties in ways parseInt never would.

In 2026: Still works. Number("") and Number(" ") are 0, Number("0x1F") is 31, Number(null) is 0, and Number(undefined) is NaN. parseInt disagrees on almost every one. The two were built for different jobs and never reconciled.

Where it came from: Number() and parseInt use different conversion rules; MDN's Number() page lists what the constructor accepts. MDN

<script>
function show(label, v){ document.write('<p><code>' + label + '</code> is <b>' + v + '</b></p>'); }
show('Number("")', Number(""));
show('Number("0x1F")', Number("0x1F"));
show('Number(null)', Number(null));
show('Number(undefined)', Number(undefined));
</script>
sandboxed demo · breaks nothing but itselfrestart

More in luljs

all 63 in luljs › · the whole library ›