- closures is functions that refer to variables declared by parent functions still have access to those variables.
- so basically closure is just about scoping
- Functions are treated the same way as any other value
- allow for creation of higher-order function -- map(), filter() and reduce()