Задать вопрос
spooky_2020
@spooky_2020
А меня Сережа зовут.

Как связать объект с функцией для его обработки?

Есть функция совершающая манипуляции с определенным типом объектов из определенной коллекции.
Сначала я передаю в "фабрику" класс-конструктор и функцию предназначенную для работы с экземплярами
этого класса. Затем, при создании экземпляра нужно что бы он знал какая функция именно для его типа,
так как в коллекции будут объекты разных типов, для работы с которыми предназначены другие функции.

Нужно что то типа ссылки на функцию (как в С или С++). Использовать подобие параллельных массивов не очень хочется.
Возможно стоит обернуть функцию в отдельный объект и присваивать ссылку уже на него? В JS это вроде так работает?
В прототип записывать нельзя - функция должна быть связана только с объектами коллекции, а не со всеми экземплярами.
  • Вопрос задан
  • 126 просмотров
Подписаться 1 Средний 3 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
В js можно передавать ссылку на функцию.

Не совсем понятно что именно вы хотите сделать, но возможно вам подойдет WeakMap, где ключами будут ваши объекты, а значениями функции.

Или передавайте в вашу фабрику набор функций, и научите ее применять нужную в зависимости от типа.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы