Defining Default Values

How to assign default values correctly.

JavaScript

document.write('<h1>Defining default values</h1>');


document.write('<h2 style="color:red">Wrong</h2>');
document.write('<h3>Completely Undefined Property</h3>');
var undefinedProp = {};
"property" in undefinedProp || (undefinedProp.property = 'Default Value');
document.write(undefinedProp.property);
document.write('<h3>Purposefully undefined property:</h3>');
var purposelyUndefinedProp = {property:undefined};
"property" in purposelyUndefinedProp || (purposelyUndefinedProp.property = 'Default Value');
document.write(purposelyUndefinedProp.property);
document.write('<h3>Null property</h3>');
var nullProperty = {property:null};
"property" in nullProperty || (nullProperty.property2 = 'Default Value');
document.write(nullProperty.property);



document.write('<h2 style="color:green">Right</h2>');
document.write('<h3>Completely Undefined Property</h3>');
var undefinedProp = {};
undefinedProp.property = undefinedProp.property || 'Default Value';
document.write(undefinedProp.property);
document.write('<h3>Purposefully undefined property:</h3>');
var purposelyUndefinedProp = {property:undefined};
purposelyUndefinedProp.property = purposelyUndefinedProp.property || 'Default Value';
document.write(purposelyUndefinedProp.property);
document.write('<h3>Null property</h3>');
var nullProperty = {property:null};
nullProperty.property = nullProperty.property || 'Default Value';
document.write(nullProperty.property);