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

There are a bunch of differences between var , let and const . I will try to differentiate those things as simple as possible. Variable declared with var are in the function scope, on the other hand, let and const are in the block scope. var allows the hoisting, in contrast, let and const don't allow the hoisting. var accepts the reassigning variable, however, let and const don't accept reassigning variable.

2. What is the differences between arrow function and regular function in JavaScript?

Both regular and arrow functions work in a similar manner, yet there are certain interesting differences between them, as discussed below.
Regular functions created using function declarations or expressions are 'constructible' and 'callable'. Since regular functions are constructible, they can be called using the 'new' keyword. However, the arrow functions are only 'callable' and not constructible. Thus, we will get a run-time error on trying to construct a non-constructible arrow functions using the new keyword.

3. What is the differences between map(), filter(), forEach(), and find() in JavaScript?

Some of the pre-built functions can have very similar use cases to one another, therefore I have created a list of manipulation functions, with how they look and their use cases. another form of just a plain for loop that can be used to iterate
.map() Function
Function .map() is a manipulative function that can modify each element's content in an array that it is called on. This function returns a new array with modified values, Just like the function .forEach(), this function also takes only 1 parameter .map(callback). The parameter callback can take up to 3 parameters element, index & array (but only the element parameter is required, the rest is optional).
.filter() Function
Function .filter() is a search function that returns all the elements that fulfil the assigned condition. Just like the function .forEach(), this function also takes only 1 parameter and The parameter callback can take up to 3 parameters.
.forEach() Function
.forEach() is another form of just a plain for loop that can be used to iterate through array items. This function takes 1 parameter .forEach(callback) . The parameter callback can take up to 3 parameters element , index & array (but only the element parameter is required, the rest is optional).
.find() Function
Function .find() is also a search function like the previous but they differ in one small detail — this function returns only one match in an array. ust like the function .forEach(), this function also takes only 1 parameter and The parameter callback can take up to 3 parameters.
Conclusion
Creating complex functions that are run only once is not the best way to treat your code, instead, you can use these array functions that can be evaluated more easily.

4.Why will you use template string?

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. Another great thing that comes with template strings are tags. Tags are functions that take a string and the decomposed parts of the string as parameters and are great for converting strings to different entities.