Алгоритми та структури даних · Middle · Запитання 51 з 75
Як уникнути переповнення стека при глибокій рекурсії в JavaScript?
- 1Позначити рекурсивну функцію як
async - 2Обгорнути рекурсивний виклик у
try...catch - ✓Правильна відповідь: Переписати її на цикл із явним стеком
Пояснення
Рушії JavaScript (крім Safari) не реалізують оптимізацію хвостових викликів, тож стек викликів обмежений приблизно десятком тисяч фреймів. Явний масив-стек живе в купі й може рости значно більше.