Number() Versus parseInt
luljs still worksNumber() 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>