Перейти к содержимому
27 / 43

Что такое рекурсия и оптимизация хвостовых вызовов (TCO)?

Рекурсия это приём, при котором функция вызывает саму себя для решения подзадачи. Каждый вызов добавляет фрейм в стек вызовов. Оптимизация хвостовых вызовов (TCO / Tail Call Optimization) позволяет движку переиспользовать текущий фрейм стека, если рекурсивный вызов стоит в хвостовой позиции (последняя операция функции). На практике TCO поддерживается только в Safari (JavaScriptCore), V8 и SpiderMonkey её не реализовали.

Что такое рекурсия и оптимизация хвостовых вызовов (TCO)? | JScriptiser