void 0 will always return undefined. undefined, on the other hand, can be whatever Mr. JavaScript decides he wants it to be. Why void 0, specifically? Why should we use void 0? What's so special about 0? Couldn't we just as easily use 1, or 42, or 1000000 or "Hello, world!"? And the answer is, yes, we could, and it would work just as well.