Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Мне очень интересно узнать, как другие специалисты JavaScript решают подобные проблемы.
function lookBroIveLostSomeProperty(someObject: SomeObject): SomeObject {
const {
someProperty,
...oO
} = JSON.parse(JSON.stringify(someObject));
return Object.assign(Object.create(SomeObject.prototype), oO);
}
А я, когда мне надо было понять, где дёргается свежесозданный объект, просто подменял его на его копию, завёрнутую в Proxy. Поставил внутри геттера/сеттера (в зависимости от конкретной задачи — мне надо было внутри геттера) либо debugger, либо console.trace, — и всё как на ладони, даже в минифицированном коде.
Быстрый поиск источника нежелательных мутаций свойства объекта