Ответы пользователя по тегу Метапрограммирование
  • Как перегрузить метаметоды в JS?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Используйте Proxy:

    const arr = new Proxy([], {
      get(target, prop) {
        const value = target[prop];
        return value instanceof Function
          ? (...args) => {
              console.log(`метод "${prop}" вызван со следующими аргументами:`, args);
              return value.apply(target, args);
            }
          : value;
      },
      set(target, prop, value) {
        console.log(`свойству "${prop}" наначено следующее значение:`, value);
        target[prop] = value;
        return true;
      },
    });
    Ответ написан
    Комментировать