This stack overflow[1] post goes into some more detail about why specifically that syntax.
tl;dr is that you can actually redefine the keyword `undefined` since its actually a global property and not reserved. void 0 will always return you the true value of undefined so it will work in all cases regardless of external shenanigans. Pretty neat.
[1] https://stackoverflow.com/questions/7452341/what-does-void-0...