Пролог
Хочу представить на Ваш суд ряд мини статеек, в которых будут описаны приемы и основы метапрограммирования. В основном я буду писать об использовании тех или иных техник в JavaScript либо в TypeScript
Эта первая (и надеюсь не последняя) статья из серии.
Так что же такое метапрограммирование:
Metaprogramming is a programming technique in which computer programs have the ability to treat other programs as their data. It means that a program can be designed to read, generate, analyze or transform other programs, and even modify itself while running. In some cases, this allows programmers to minimize the number of lines of code to express a solution, in turn reducing development time.
Довольно запутанное описание, но основная польза от метапрограммирования вполне понятна:
… это позволяет программистам минимизировать количество строк кода для имплементации решения, что в свою очередь сокращает время разработки