### Recursion

Recursion is the repeated application of a process. 
In JavaScript, recursion involves functions that call themselves repeatedly until they reach a base condition. 
The base condition breaks out of the recursion loop because otherwise the function would call itself indefinitely. 
Recursion is very useful when working with nested data, especially when the nesting depth is dynamically defined or unkown.
