Функции с состоянием¶
Общей особенностью других языков программирования является использование ключевого слова static для увеличения времени жизни (не области) переменной функции, чтобы она существовала за пределами вызовов функций. Вот пример в C, в котором достигается это:
1 2 3 4 5 6 7 8 9 10 11 | |
Поскольку JavaScript (или TypeScript) не имеет статических переменных для функций, вы можете добиться того же, используя различные абстракции, которые обертывают локальные переменные, например используя class:
1 2 3 4 5 6 7 8 9 10 | |
Разработчики C++ также пытаются добиться этого, используя паттерн, который они называют
функтор(класс, который переопределяет оператор()).