Рекурсивная функция, определенная как ошибка постоянного повышения (TypeScript)

#typescript

#typescript

Вопрос:

Может кто-нибудь объяснить мне, почему этот код работает:

 let recursive = () =>
{
    recursive();
}
  

и эта ошибка вызывает ошибку:

 const recursive = () =>
{
    recursive();
}
  

Ошибка:

Сборка: переменная ‘recursive’ используется перед назначением.

Я думал, что const следует использовать, когда переменная не изменится, что в данном случае верно.
Кто-нибудь знает, является ли это ожидаемым поведением?

Ответ №1:

Каждый раз, когда вызывалась рекурсивная функция, среда выполнения сначала добавляет новую переменную с тем же именем в стек