Author: https://t.me/ahillary
Channel: https://t.me/semolina_code_python
Chat: https://t.me/python_with_ahillary
YouTube: https://www.youtube.com/@semolinacode
Coding training: https://t.me/how_to_code_web3
Prop trading: https://t.me/semolina_prop
JavaScript/TypeScript предоставляет исключительно гибкие возможности по работе с функциями: они могут быть переданы в другие функции, использованы как объекты, и сейчас мы рассмотрим, как их декорировать.
Представим, что у нас есть функция slow(x)
, выполняющая ресурсоёмкие вычисления, но возвращающая стабильные результаты. Другими словами, для одного и того же x
она всегда возвращает один и тот же результат.
Если функция вызывается часто, то, вероятно, мы захотим кешировать (запоминать) возвращаемые ею результаты, чтобы сэкономить время на повторных вычислениях.
Вместо того, чтобы усложнять slow(x)
дополнительной функциональностью, мы заключим её в функцию-обёртку – «wrapper» (от англ. «wrap» – обёртывать), которая добавит кеширование.