Функции с состоянием¶
Общей особенностью других языков программирования является использование ключевого слова 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++ также пытаются добиться этого, используя паттерн, который они называют
функтор
(класс, который переопределяет оператор()
).