Testing objects
by Dominic Myers
HTML
<fieldset id="console-log-div"></fieldset>
<script src="https://rawgit.com/bahmutov/console-log-div/master/console-log-div.js"></script>
CSS
.console-log-div {
border: 1px solid gray;
padding: 5px 10px;
border-radius: 5px;
width: 95% !important;
background-color: #efefef;
}
JavaScript
let obj = {
"one": 1,
"two": 2,
"three": {
"threeOne": 31,
"threeTwo": 32
},
"four": 4
};
console.group("Testing obj");
console.log("obj:", obj)
console.log("obj.three.threeOne === 31:", obj.three.threeOne === 31); // true
console.log("obj.three.threeTwo === 31:", obj.three.threeTwo === 31); // false
console.log("obj.three.threeThree === 31:", obj.three.threeThree === 33); // false
console.log("obj.five === 31:", obj.five === 31); // false
console.log("obj.five:", obj.five); // Exception
/*
* Will need to comment out the next two lines or the code won't continue running
*/
// console.log("obj.five.fiveOne === 51:", obj.five.fiveOne === 51);
// EXCEPTION: Uncaught TypeError: Cannot read property 'fiveOne' of undefined
// console.log("obj.five.fiveOne:", obj.five.fiveOne);
// EXCEPTION: Uncaught TypeError: Cannot read property 'fiveOne' of undefined
console.groupEnd();
console.log("---------------------------------------");
console.group("Testing obj with 'if'");
console.log("obj:", obj)
console.log("obj.three.threeOne === 31:", obj.three.threeOne === 31); // true
console.log("obj.three.threeTwo === 31:", obj.three.threeTwo === 31); // false
console.log("obj.three.threeThree === 31:", obj.three.threeThree === 33); // false
console.log("obj.five === 31:", obj.five === 31); // false
console.log("obj.five:", obj.five); // undefined
if(
obj.hasOwnProperty("five")
&&
obj.five.hasOwnProperty("fiveOne")
&&
obj.five.fiveOne === 51){
console.log("obj.five.fiveOne === 51:", true);
}else{
console.log("obj.five.fiveOne === 51:", false);
} // false
if(obj.hasOwnProperty("five")
&&
obj.five.hasOwnProperty("fiveOne") ){
console.log("obj.five.fiveOne:", obj.five.fiveOne);
}else{
console.log("obj.five.fiveOne:", undefined);
} //...