📎재귀 (Recursive)
하나의 함수에서 함수 자기 자신을 다시 내부에서 호출해서 사용하는 방법
기본적으로 무한 동작하기 때문에 필요에 따라서 멈춰줄 수 있어야 한다.
const a = () => {
console.log("A");
a();
// 함수를 호출하는 코드를 함수 밖이 아닌 함수 안에 작성
// a 라는 함수를 자신의 영역 내부에서 다시 호출하는 것을 함수 '재귀' 라고 한다.
};
a();
a함수가 최초 실행이 되고, 그 다음에 내부에 있는 a 라는 자기 자신이 호출이 되면서
또 그 아래에 있는 자기 자신이 호출이 되고, 이런 방식으로 '무한정' 함수가 동작하게 된다.
함수가 무한 호출 되기 때문에 필요에 따라 멈춰줘야 한다.
let i = 0;
const a = () => {
console.log("A"); // A A A A
i += 1; // a 라는 함수가 호출될 때마다 1씩 증가, 0부터 시작해서 0, 1, 2, 3 까지 재귀 호출 가능
if (i < 4) {
a();
}
};
a();
재귀 호출하게 되면 무한으로 반복 실행이 되기 때문에
항상 이렇게 멈출 수 있는 조건을 포함해줘야 한다. ▽
if (i < 4) {
a();
}