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?