재귀 함수
어떤 함수의 내부에서 자기 자신을 다시 호출하는 함수
let i = 0;
function recurse() {
i++;
recurse();
}
재귀 함수를 사용할 때 호출 스택의 최대 크기를 초과하는 경우가 빈번하게 발생한다. 이 때 Maximum call stack exceeding 오류가 발생하는데, setTimeout
과 같은 비동기 함수를 사용해 해결할 수 있다.
재귀 함수를 사용할 때는 연산량이 많으면 브라우저가 느려지는 현상이 발생하므로 연산량을 최소화할 수 있게 코드를 작성하자.