7.3 Manual deep updating

So far, we have only updated data shallowly. Let’s tackle deep updating. The following code shows how to do it manually. We are changing name and employer.

  1. const original = {name: 'Jane', work: {employer: 'Acme'}};
  2. const updatedOriginal = {
  3. ...original,
  4. name: 'John',
  5. work: {
  6. ...original.work,
  7. employer: 'Spectre'
  8. },
  9. };
  10. assert.deepEqual(
  11. original, {name: 'Jane', work: {employer: 'Acme'}});
  12. assert.deepEqual(
  13. updatedOriginal, {name: 'John', work: {employer: 'Spectre'}});