javascript
javascript copied to clipboard
Prefer function expression instead of function declaration?
Both have pros and cons. Function expression leads to better consistency (you cannot use function declaration for function composition, currying etc.), but it’s not hoisted (so it requires specific ordering of functions). Also you cannot write export default const foo = () => { }, but I consider this as insignificant.
I think I am willing to give up some consistency in favor of preventing some WTF moments caused by hoisting.
My personal opinion: top-level function keyword helps me with code readability.
Let's keep this open in case someone else wants to chime in.