Arrow functions vs Normal functions
1) Shorter syntax and Implicit returns: it has a shorter syntax compared to normal functions also
for single line expression it auto return them without needing for explicit return.
2) Arguments Object: Normal function have an array like object which stores all the arguments in it
“ argumetns”.
If we were to try this with arrows functions it would throw a reference error, coz they don’t
have their “arguments” object instead they will refer to the outer scope (lexical).
3) This binding: In normal functional “this” is determined by how the function is called, if we were
to call normal function (dynamic this) in a global context it would point to the global object, if
we were to call it as a method of an object it would point to the object. In regular functions
“this” is determined at runtime.