Можно ли изменить все ссылки на анонимную функцию так, чтобы вызовы из других объектов отражали изменения?
Ниже приведен пример ситуации, когда obj1.name и obj2.name указывают на одно и то же функция, но поскольку функция передается по значению при создании obj2.name = obj1.name, изменения в obj1.name не влияют на obj2.name.
В этом примере я хотел бы изменить эту функцию так что он возвращает "отредактировано" для всех объектов.
//This two declarations are part of the original code that I cannot modify.
let obj1 = {
name: function() { return 'original'; }
}
let obj2 = {
name: obj1.name
}
// obj1.name() >> 'original'
// obj2.name() >> 'original'
// At this point, I want to modify the returned value.
obj1.name = function() { return 'edited'; }
// obj1.name() >> 'edited'
// obj2.name() >> 'original'