var obj = {
a:5,
b:{
c:10
}
};
obj.__proto__ = {
a:10,
b: {
c:20
}
};
console.log(obj);
console.log(obj.__proto__);
delete obj.a;
console.log(obj.a);
console.log(obj);
console.log(obj.__proto__);
delete obj.a;
console.log(obj.a);
console.log(obj);
console.log(obj.__proto__);
delete obj.b;
console.log(obj.b.c);
console.log(obj);
console.log(obj.__proto__);
delete obj.b.c;
console.log(obj.b.c);
console.log(obj);
console.log(obj.__proto__);
delete не должен же трогать прототип вообще в этом случаеС чего вы так решили?