Let's say I want to delete a property in a JS object
const source = {
  nestA: {
    nestB: {
      nestC: 'deleteMe'
    }
  }
}
const clone = {}
clone.nestA = {...source}.nestA
delete clone.nestA.nestB
console.log(source)execute above script
expect: source remain untouched
actual: source will become {}
However, if I just do delete clone.nestA, source will remain untouched as expected
Question: How come delete clone.nestA.nestB affect source. But delete clone.nestA doesn't?
 
     
    