Testing Undefined methods

Curious. Re: http://stackoverflow.com/questions/3390396/how-to-check-for-undefined-in-javascript

by drzaus

HTML

<pre id="results"></pre>

JavaScript

(function(undefined) {
	var definedButNotInitialized;
	definedAndInitialized = 3;
	someObject = {
		firstProp: "1"
		, secondProp: false
		// , undefinedProp not defined
	};
	// var notDefined;
	
	var tests = [
    	'definedButNotInitialized in window',
    	'definedAndInitialized in window',
    	'someObject.firstProp in window',
    	'someObject.secondProp in window',
    	'someObject.undefinedProp in window',
    	'notDefined in window',

    '"definedButNotInitialized" in window',
		'"definedAndInitialized" in window',
		'"someObject.firstProp" in window',
		'"someObject.secondProp" in window',
		'"someObject.undefinedProp" in window',
		'"notDefined" in window',

		'typeof definedButNotInitialized == "undefined"',
		'typeof definedButNotInitialized === typeof undefined',
		'definedButNotInitialized === undefined',
		'! definedButNotInitialized',
		'!! definedButNotInitialized',

		'typeof definedAndInitialized == "undefined"',
		'typeof definedAndInitialized === typeof undefined',
		'definedAndInitialized === undefined',
		'! definedAndInitialized',
		'!! definedAndInitialized',

		'typeof someObject.firstProp == "undefined"',
		'typeof someObject.firstProp === typeof undefined',
		'someObject.firstProp === undefined',
		'! someObject.firstProp',
		'!! someObject.firstProp',

		'typeof someObject.secondProp == "undefined"',
		'typeof someObject.secondProp === typeof undefined',
		'someObject.secondProp === undefined',
		'! someObject.secondProp',
		'!! someObject.secondProp',

		'typeof someObject.undefinedProp == "undefined"',
		'typeof someObject.undefinedProp === typeof undefined',
		'someObject.undefinedProp === undefined',
		'! someObject.undefinedProp',
		'!! someObject.undefinedProp',
 
		'typeof notDefined == "undefined"',
		'typeof notDefined === typeof undefined',
		'notDefined === undefined',
		'! notDefined',
		'!! notDefined'
	];
	
	var output = document.getElementById('results');
	var result = '';
	for(var t in tests) {
		if(...