JavaScript Interview Question #118

What is recursion in JavaScript?

Closures, Prototypes, Classes & Advanced Functions Mid-Level Intermediate

Quick Interview Answer

Recursion occurs when a function calls itself, directly or indirectly, until a base condition stops further calls. It is useful for naturally recursive structures such as trees, nested menus, directory structures, and certain algorithms.

Detailed Explanation

Recursion occurs when a function calls itself, directly or indirectly, until a base condition stops further calls. It is useful for naturally recursive structures such as trees, nested menus, directory structures, and certain algorithms.

Each ordinary recursive call consumes call-stack space. Very deep recursion can cause a stack overflow, so an iterative approach may be safer for unbounded depth.

Code Example

function factorial(n) {
    if (n <= 1) {
        return 1;
    }

    return n * factorial(n - 1);
}

console.log(factorial(5)); // 120