Although document.all is also falsy and loosely equal to undefined, it is not undefined. The case of document.all having type "undefined" is classified in the web standards as a "willful violation" of the original ECMAScript standard for web compatibility.
Then the bastard tries to willingly access x to equate it to undefined, but that can't work since x is undefined and yields a ReferenceError (rendering the third expression moot).
The monks answers of document.all is not applicable since document.all is a live set of data which can be nothing or everything.
Who even introduced document.all? I bet it was microsoft...