Loading
A function with no surprises — same input always gives the same output, and it changes nothing outside itself.
A function that is deterministic (same arguments → same return value) and side-effect-free (no mutation of external state, no I/O, no logging). Pure functions are trivially testable and safe to memoize.
Referentially transparent: the function call can be replaced with its return value without changing program behavior. Foundation of functional programming. React's render model assumes component functions are pure.