재귀 함수는 함수가 계속해서 자신을 반복 실행하는 것을 말한다. 반복문을 대신해서 사용할 수 있지만 보다 실행 시간이 오래 걸리고 메모리를 많이 사용하기 때문에 꼭 필요한 데서만 사용할 수 있도록 해야한다.
두 매개 변수를 이용해 제곱한 값을 구하는 방법
function Squared(x, n) {
let result = 1;
for (let i = 0; i < n; i++) {
result *= x;
}
return result;
}
console.log(Squared(2, 3)) // 8
function Squared(x, n) {
if (n === 1) {
return x;
} else {
return x * Squared(x, n - 1);
}
}
console.log(Squared(2, 3)) // 8
Squared 가 종료되는 시점은 n === 1 이 되는 시점이다. 따라서 n 의 값이 1이 될 때까지 반복적으로 실행될 것이고 아래와 같은 결과로 인해 두 매개 변수를 제곱한 값을 얻을 수 있다.
Squared(2, 4) = 2 * Squared(2, 3) = 2 * 8
Squared(2, 3) = 2 * Squared(2, 2) = 2 * 4
Squared(2, 2) = 2 * Squared(2, 1) = 2 * 2
Squared(2, 1) = 2