Что такое рекурсия?
Рекурсия - это функция, которая вызывает себя до тех пор, пока не откликнется?
Хорошо, я слышу, но не понимаю, можешь показать мне код?
let countDown = num => { console.log(num) countDown(num - 1) } countDown(10)
Здесь происходит то, что вы пишете функцию ES6 с именем countDown, и мы передаем 10 в качестве параметра аргумента. Он напечатает 10, затем вызовет countDown, но с вычитанием числа на 1, что равно 9.
Вы видите, что должно произойти? Пройдемся еще раз после первого рекурсивного вызова. countDown теперь получает аргумент 9 и распечатает 9, затем снова вызовет countDown, но с нашим номером 9, вычтенным на 1.
Если вы запустите этот код, у вас будут плохие времена, потому что он никогда не остановится, поскольку никогда не было случая прерывания, чтобы сказать нашей рекурсивной функции остановиться. Для этого просто укажите условие if
let countDown = num => { if(num === 0) return; console.log(num) countDown(num - 1) } countDown(10)
Из-за нашего условия if в тот момент, когда нашей рекурсивной функции дается 0 в качестве аргумента, она останавливается.
Позже этот блог будет обновлен с дополнительной информацией, но я надеюсь, что вы смогли понять рекурсию в базовой форме.