39 / 43
Что такое TCO (Tail Call Optimization) и поддерживается ли она в браузерах?
TCO (Tail Call Optimization) — это оптимизация, при которой рекурсивный вызов в хвостовой позиции (последняя операция в функции) переиспользует текущий фрейм стека вместо создания нового. Это позволяет рекурсии работать без переполнения стека. TCO описана в спецификации ES2015, но на практике её поддерживает только Safari (JavaScriptCore). V8 (Chrome/Node.js) и SpiderMonkey (Firefox) не реализовали TCO.