Function Declaration, Expression, and Arrow
Function declarations are hoisted with implementation. Function expressions depend on assignment timing.
Arrow functions provide concise syntax and lexical this. They are useful for callbacks but not always suitable for methods.
Choose style based on behavior needs, not only syntax preference.