Function declarations, function expressions, arrow functions, default parameters, rest parameters, callbacks, higher-order functions, first-class functions, IIFE, and pure functions
JavaScript functions are first-class values, which is why callbacks, higher-order utilities, and different function forms all matter.
- Declarations and expressions behave differently
- Arrow functions change `this` behavior
- Pure functions avoid hidden side effects
Function declarations, function expressions, arrow functions, default parameters, rest parameters, callbacks, higher-order functions, first-class functions, IIFE, and pure functions