What exactly is the difference between undefined
and void 0
?
Which is preferred and why?
The difference is that some browsers allow you to overwrite the value of undefined
. However, void anything
always returns real undefined.
(function (undefined) {
undefined = 1;
console.log(typeof undefined); // "number"
console.log(typeof void 0); // "undefined"
})();