Мне нужно автоматически анализировать функции и определять, какие свойства объекта используются каждой функцией.
Функции очень простые, например
(a, b) => Math.min(100, 50 + a.strength, 50 + b.strength)
все свойства входных объектов являются числовыми, и функции не вносят изменений во входные объекты
Моей первой мыслью было проанализировать строковую форму функции, но, чтобы сделать ее более надежной, было бы идеально, если бы я мог запускать каждую из функций с тестовыми фиктивными объектами, которые динамически доставляют запрошенное свойство с любым именем и записывают это название.
Например, в vb.net вы можете определить свойство по умолчанию для классов, чтобы каждый доступ к объекту (ключу) мог динамически обрабатываться на основе значения ключа. Есть ли что-то подобное в js?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете использовать прокси и передать их функции и записать, какие свойства были вызваны:
const fn = (a, b) => Math.min(100, 50 + a.strength, 50 + b.strength)
var aProxy = new Proxy({}, {
get: (obj, prop) => console.info(`${prop} was called on a`)
});
var bProxy = new Proxy({}, {
get: (obj, prop) => console.info(`${prop} was called on b`)
});
fn(aProxy, bProxy);это именно то, что мне нужно
Непонятно, какой результат вы должны получить.