To put it simply, it’s caching. In a fancy term.
Memoization is usually being used in function. In other words, memoization is caching in the scope of Function. The purpose of memoization is to avoid doing computation that’s needed to be done repeatedly. This essentially to save time and resources.
The way functions achieve memoization is by caching the result and returning the result if it has been computed previously.
Couple use cases of memoization
- Pure functions that require intensive computation and called repeatedly.
- Pure and recursive Function.
See Fibonacci example in the link reference.