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?