재귀함수는 자기자신을 호출하는 것이다.
const countDown = n => {
console.log(n);
if(n === 0) return;
countDown(n-1);
}
countDown(10);
//outout:
//10
//9
//8
//7
//6
//5
//4
//3
//2
//1
함수 안에 또 자기 자신을 호출해서 n값에서 -1 된 값을 게속 return 한다.
여기서 기억해야 할건 종료 조건이 있다는 것이다.
if(조건){return}
만약에 종료 조건이 없으면 재귀함수는 게속해서 함수를 호출할것이고 컴퓨터가 과부하에
걸리는등 원치 않는 값까지 리턴한다.
Example
재귀함수는 factorial을 구할 때 사용할 수 있다.
1에서 부터 n 까지의 정수를 모두 곱한 것을 말한다.
2 = 1 * 2
5 = 1 * 2 * 3 * 4 * 5
const factorial = n => {
console.log(n);
if( n === 0 ){
return 1;
}else{
return n * factorial(n - 1);
}
factorial(5);