Variables declared with var and const are scoped to the immediate function body.
Variables declared with the var keyword are hoisted. Hoisting means that the variable can be
accessed in their enclosing scope even before they are declared.
Variables declared with the let keyword are block-scoped, which means the variables will
have scope to the immediate enclosing block.
If the arrow function contains one expression,you can ommit the curly braces,and then the
expression will be impliciltly returned.
In regular function ,you have to use return keyword to return any value.If you don't return
anything then the function will return undefined.
Template strings are a powerful feature of modern JavaScript released in ES6. It
lets us insert/interpolate variables and expressions into strings without needing to
concatenate like in older versions of JavaScript. It allows us to create strings that
are complex and contain dynamic elements.