javascriptundefinedvoid

JavaScript `undefined` vs `void 0`


What exactly is the difference between undefined and void 0 ?

Which is preferred and why?


Solution

  • 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"
    
    })();