const zero = new Number(0);
if (zero) {
console.log("zero is truthy!");
} else {
console.log('zero is false!');
}
zero is truthy! base.js:8272:41
undefined
if (0) {
console.log("zero is truthy!");
} else {
console.log('zero is false!');
}
zero is false!
Oh, JavaScript and it's mysterious ways.
new Number() creates a object wrapper. So it turns out to be true