- A process (a function) that calls itself.
- It's a stack data structure.
- Any time a function is invoked it is placed (pushed) on the top of the call stack.
- When JavaScript sees the return keyword or when the function ends, the compiler will remove (pop)
- Invoke the same function with a different input until you reach your base case!
- The condition when the recursion ends.
- Base case
- Different Input
Examples-