JS: Полиморфизм
Теория: Диспетчеризация по ключу (функции)
Диспетчеризация по ключу ассоциативного массива мощнее, чем кажется на первый взгляд. Далеко не всегда достаточно выбирать разные данные, иногда приходится выполнять другой код.
Предположим, что нам надо сформировать массив с фамилиями наших пользователей. Главное условие – для девушек берется девичья фамилия.
Реализуем эту задачу, используя старый добрый if:
Теперь решим эту задачу с помощью диспетчеризации по ключам объекта, но в отличие от предыдущего урока, в значениях у нас будут функции:
В некоторых ситуациях такой вариант решения задачи лучше. В нем явно прослеживаются зависимости, особенно если их становится много. Кроме того, конфигурация данными позволяет вынести их в другое место и расширять поведение без переписывания кода, который использует эти данные.
Еще один пример – парсинг данных в зависимости от их типа:





