JSFiddle - React, Tailwind, and code Playground

by ktstowell

HTML

<h4> Shallow reference copy with nested objects</h4>
<p>Foos: [
    <br>
    <span id='foo1'></span>
    <br>
    <span id='foo2'></span>
    <br>
    ] 
</p>
<button onclick="updateFoos()">Update foos!</button>

JavaScript

var foo = {
    bar: {baz: 'bing'},
    bear: 'hug'
};

var foo2 = foo;

var foo1Ele = document.getElementById('foo1');
var foo2Ele = document.getElementById('foo2');

foo1Ele.textContent = 'Foo 1: '+JSON.stringify(foo);
foo2Ele.textContent = 'Foo 2:' + JSON.stringify(foo2);

window.updateFoos = function() {
    
    // WHAT CAN HAPPEN???
    foo.bar.baz = 'bang';
    foo.bear = 'claw';
    
    foo1Ele.textContent = 'Foo 1: '+JSON.stringify(foo);
    foo2Ele.textContent = 'Foo 2:' + JSON.stringify(foo2);
}