In Injecting Multiple Properties we injected the first and last properties into instances of Array so we could fluently get the first and last elements of an array. We came up with property names like first and last at the time of metaprogramming, but on many occasions we may want to devise property or method names at runtime based on the execution context or state of an object. In other words, we may not know the name of a property to be injected at code writing time—it comes to life at runtime.
To practice method synthesis, let’s create an example to use a Map that holds an associative set of keys and values of languages and authors.
|||const langsAndAuthors = new Map([|