Recursive Functions 라는 뜻은 재귀함수 이다.
재귀 함수란 함수를 반복적으로 계속 자기 자신을 스스로 계속 실행 시키는 함수를 뜻한다.
자기 자신을 지속적으로 호출하기 때문에 특정 조건을 걸어 주지 않으면 스택오버플로우가 발생하는 아주 치명적인 에러를 뱉어낼수도 있기 때문에 주의 해야 한다.
간단한 예시로 팩토리얼 예시가 있다.
function factorial(num){
if(num < 1){
return 1;
}
return num * factorial(num-1);
}
const num = 5;
let result = factorial(num);
console.log(`${num}!===${result});
result 변수 값에 팩토리얼 함수를 실행시키면서 1이 되기 전까지 계속 자기 자신을 지속적으로 호출 하다가 num의 숫자가 1보다 작아지면 1을 리턴 시킴으로 함수를 종료시킨다.
이렇게 특정 조건을 걸어주어야 무한루프에 빠지지 않고 재귀 함수를 사용 할 수 있다.