1. What is the difference between var, let and const?

The scope of a var variable is functional scope. It can be reassigned and redefined.
The scope of a let variable is block scope. It can be reassigned but it cannot be redefined.
The scope of a const variable is block scope. It cannot be reassigned or redefined.

2. What is the difference between regular function and arrow function?

Since regular functions are constructible, they can be called using the new keyword. However, the arrow functions are only callable and not constructible, i.e arrow functions can never be used as constructor functions. Hence, they can never be invoked with the new keyword.

3. Why do we use template strings?

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.

4. What is the difference between map, forEach, filter, find?

The forEach() method does not create a new array based on the given array. The map() method creates an entirely new array. The forEach() method returns “undefined“. The map() method returns the newly created array according to the provided callback function.
The only difference is the filter() method search through all the elements while find() method search through all the child elements only.