JS: Polymorphism
Theory: Dispatch functions by key
Dispatching by associative array key is more powerful than it might seem at first sight. Sometimes selecting different data is not enough. So you have to execute other code.
Suppose we need to generate an array with the last names of our users. The main condition is that for girls, we take their maiden name.
Let's implement this task using good old if statements:
Now let's solve this problem by dispatching by object keys, but unlike in the previous lesson, the values will be functions:
In some situations, this solution is better. It clearly shows dependencies, especially if there are a lot of them. In addition, data configuration allows you to take it elsewhere and extend the behavior without rewriting the code that uses that data.
Another example is parsing data depending on its type:

