JSFiddle - React, Tailwind, and code Playground
HTML
<table>
<tr>
<td>Value</td>
<td>Nested Value</td>
<td>Nested Value 2</td>
<td>Deeply Nested Value</td>
<td>Deeply Nested Value 2</td>
<td>Deeply Nested Self Value</td>
<td>Deeply Nested Self Value 2</td>
</tr>
<tr>
<td id="value"></td>
<td id="nestedValue"></td>
<td id="nestedValue2"></td>
<td id="deepNest"></td>
<td id="deepNest2"></td>
<td id="deepSelf"></td>
<td id="deepSelf2"></td>
</tr>
<tr>
<td colspan="7"></td>
</tr>
<tr>
<td>Value</td>
<td>Nested Value</td>
<td>Nested Value 2</td>
<td>Deeply Nested Value</td>
<td>Deeply Nested Value 2</td>
<td>Deeply Nested Self Value</td>
<td>Deeply Nested Self Value 2</td>
</tr>
<tr>
<td id="newvalue"></td>
<td id="newnestedValue"></td>
<td id="newnestedValue2"></td>
<td id="newdeepNest"></td>
<td id="newdeepNest2"></td>
<td id="newdeepSelf"></td>
<td id="newdeepSelf2"></td>
</tr>
</table>
CSS
td{
border: 1px solid black;
height: 1em;
text-align: center;
}
JavaScript
function baseObject () {
var self = this;
self.value = "value";
self.nestedObject = function () {
var nest = this;
nest.value = self.value;
nest.deepNest = function() {
var deep = this;
deep.value = nest.value;
deep.selfValue = self.value;
};
};
self.nestedObject2 = {
value: self.value,
deepNest: {
value: this.value,
selfValue: self.value
}
};
}
var obj = new baseObject();
var nested = new obj.nestedObject();
var deep = new nested.deepNest();
$("#value").html(obj.value);
$("#nestedValue").html(nested.value);
$("#nestedValue2").html(obj.nestedObject2.value);
$("#deepNest").html(deep.value);
$("#deepNest2").html(obj.nestedObject2.deepNest.value);
$("#deepSelf").html(deep.selfValue);
$("#deepSelf2").html(obj.nestedObject2.deepNest.selfValue);
obj.value = "changed";
$("#newvalue").html(obj.value);
$("#newnestedValue").html(nested.value);
$("#newnestedValue2").html(obj.nestedObject2.value);
$("#deepNest").html(deep.value);
$("#deepNest2").html(obj.nestedObject2.deepNest.value);
$("#deepSelf").html(deep.selfValue);
$("#deepSelf2").html(obj.nestedObject2.deepNest.selfValue);