WHAT'S THE DIFFERENCE BETWEEN ORDINARY FUNCTIONS AND ARROW FUNCTIONS IN JAVASCRIPT?
JavaScript has three ways to create functions: function declarations, function expressions, and arrow functions. The main differences are that arrow functions are more concise (using `=>` syntax) and don't have their own bindings to `this`, making them behave differently when used as object methods. Arrow functions also cannot be used as constructors with the `new` keyword, unlike regular functions, which can serve as constructor functions in older JavaScript patterns.