What are the difference between var, let and const ?

var is function scoped whereas let and const is block scoped. We can re-declaire var but we can't re-declaire let and const. Also var is hoisted that means it will automatically become global variable when used outside function scope. const can't be updated in Primitive value but let can be updated in both primitive and non primitive value

What are the difference between Arrow Function and Regular Function?

The behavior of this inside of an arrow function differs considerably from the regular function's this behavior. The arrow function's execution context isn't defined by itself rather it target's window object whereas regular function's this execution context is within it's immediate parent object. Regular function is hoisted but arrow function isn't. In Arrow Function we can ommit parenthesis for a single parameter and can also ignore return keyword if it returns a single statement

What are the difference in map() , forEach(), filter() and find() Methods

map() , forEach(), filter() and find() all of them are Array methods. map() loops through an array and returns a newly modified array (if modified) while maintaining array length.
forEach() loops through an Array but doesn't return any value. It's a minified version of for of looping.
filter() and find() are almost itentical methods where find() returns only the immediate matched value but filter() returns an Array that matches it's condition.

Why should we use Template String?

The advantage of using Template String is the ease of writing Dynamic content. It provide an easy way to interpolate variables and expressions into strings.