JavaScript에서 재귀 작업하기
프로그래밍에는
재귀(recursion)라는 개념이 있습니다 - 이것은 함수가 자기 자신을 호출하는 경우를 말합니다. 예제를 통해 살펴보겠습니다.
재귀를 사용하여 1부터 10까지의 숫자를 출력해 봅시다:
let i = 1;
function func(){
console.log(i);
i++;
if (i <= 10){
func(); // 함수가 여기서 자기 자신을 호출합니다
}
}
func();
이 코드가 어떻게 작동하는지 논의해 봅시다.
우리에게는 전역 변수 i와 함수 func가 있습니다. 함수 내부에서 변수 i의 내용이 콘솔에 출력된 다음, ++가 실행됩니다.
우리의 변수 i가 10보다 작거나 같으면, 함수가 다시 호출됩니다. 변수 i가 전역 변수이기 때문에, 함수가 매번 새로 호출될 때마다 이전 호출에서 설정된 변수 i의 값을 갖게 됩니다.
그러면 i가 10보다 커질 때까지 함수가 자기 자신을 계속 호출하게 됩니다.
우리의 경우에는 if 없이 함수를 실행할 수 없다는 점에 유의하세요 - 만약 그렇게 하면, 무한한 함수 호출이 발생하게 됩니다.