myShallowCopy.anotherProp.aNewProp = "a new value"; console.log(myOriginal.anotherProp.aNewProp) // ^ logs `a new value` The expression {...myOriginal} iterates over the (enumerable) properties of myOriginal using the Spread Operator. It uses the property name and value, and assigns them one by one to a freshly created, empty object. As such, the resulting object is identical in shape, but with it

