Я делаю калькулятор. Сейчас пытаюсь разделить логику, чтобы юыло проще редактировать и расширять свой калькулятор.
Столнулся с одной проблемой, она не должна возникать в принцепи. Не могу найти причину.
Пример:
Есть основной сервис, который что то считает
first.service.ts
basefunction(obj) {
var result = this.childrenservice.somefunction(obj);
console.log(result)
}
children.service.ts
somefunction(obj) {
obj['Inventory'] = this.Inventory; //делает копию объекта
for (let y in details.Inventory) {
details.Inventory[y]['count'] = 1; // Создает елемент равным 1
}
details.Inventory['ItogMonth'] = 123123; // Добавляем какой то итог.
}
При первом вызове функции нет проблем, создаются в первый раз елементы ItogMonth и count итп.
Но при новом вызове дочерней функции она уже имеет элемент ItogMonth и возникает ошибка,
ERROR TypeError: Cannot create property 'count' on number '123123'
хотя в obj не содержит ItogMonth. Делаю вывод что он кешируется где то в оперативной памяти. Почему это происходит?