Home » JavaScript Interview Questions and Answers

JavaScript Interview Questions and Answers

What is JavaScript

It is a server site Rendering Languages & renders on Web-Browsers.It is a lightweight dynamic programming language which is mostly used in web applications. 

What are the types of JavaScript?

Below are the types of JavaScript: – 






Is JavaScript being Case Sensitive?

Yes, JavaScript is a Case Sensitive Language

What is the difference between Let, Var, and Const?

Var : Var can be used locally and globally both inside JavaScript. In locally var used in Block code of JavaScript. The main difference is var can be Re-Declared or Updated. If you declare the same name value then var will show output.

Let : Let is also same as var. We can define locally or globally. The difference is we can update the value of Let but can’t re-declared the same name value because it shows an error.

Const : Const is used as a variable to store data. In const, we can’t redeclare the same value or change the same value. Here type of const will be fixed while declare and we can’t modify or change it.

What is Difference Between Map() and forEach() in JavaScript().

Map() is used to iterates the Array by using a call-back function. In the map function while we iterate the Array, it leaves the original array and returns a new array.

forEach() is also used to iterates the Array of elements but it cannot return any value. When we iterate, it returns undefined.

What is this in JavaScript?

This refers to global objects. It is the keywords that refer to the object belong to. In function or on page, this refers to Global Object but while using this in strict mode it refers to undefined but, in the event, it refers to that event.

What is the difference between Arrow function and Normal Function?

Arrow function is a new feature introduced in JavaScript ES6. The syntax of the arrow function is small rather than a normal function. Inside the arrow function, we can’t use this keyword but in the normal function, we can use this keyword globally. It refers to the function object. Apart from that we never access arguments in the arrow function but in normal we can access arguments.

What is Closure in JavaScript?

A closure is an inner function that accesses outer function variables. As we know that JavaScript has lexical scope, we can define a variable as local or global.

What is debouncing and throttling in JavaScript?

It is the concept that optimizes the performance of the JavaScript application. It limits the number of times the function executes. We can decide how many times we execute a function. 

Suppose you are creating a search suggestion by an API Call then you used API function on any keypress event that cause a lot of execution of API on each and every keypress. Here debouncing and throttling work: 

Debouncing: We can optimize the event by using set timeout or delay by using time interval. Here, we will fire any function if there will be a delay in a certain time period.

Throttling: It is a concept where we get the different times of the event. If the time interval is double or greater than the old one, then we fire the event.

What is addEventListiner in JavaScript?

This is a method to attach an event to an element. Here we can handle multiple event listings without modifying existing events of that element. By using the listener, we use separate markup which allows better readability and control to that element.

What is Reduce function in JavaScript?

It is the function that is applied to JavaScript to get the single value of an Array. It contains Two Arguments: First is the callback function and the second is value.

let data = [10,30,56,85]

let n = data.reduce(function(a,b) { return a+b })


What is the difference between Call(), Apply() and Bind() Method?

In this method, we can use any Objects with the function by using this keyword in JavaScript.

Call(): By this method, we can call any Object with a function. We can pass parameters one by one while calling that function.

let obj = { fname: 'Acil',
lname: 'Technologies',
middleName : function() {
return this.fname.toLowerCase()
let objNew = { fname: 'One',
fullName: function(age) {
return this.fname + ' ' + this.lname + ' - ' + age
console.log(, 26))

Apply(): It is similar to the call method but it allows to pass parameter inside the Array.

let obj = { fname: 'Acil',
lname: 'Technologies',
middleName : function() {
return this.fname.toLowerCase()

let objNew = { fullName: function(age) {
console.log(this.fname, age)

objNew.fullName.apply(obj, [26])

Bind(): It always returns a new function while calling a function with an Objects

let obj = { fname: 'Acil',
lname: 'Tecnologies'

function getFullNames() { return this.fname + '' + this.lname }

let newFunction = getFullNames.bind(obj)

View Our Batch Classroom
View Our Student Work
Jack Morris Media Pvt. Ltd
LabOcure Healthtest Pvt. Ltd
Twins Car Care
Water & Enviroment Technologies Pvt. Ltd
Advanced Computer Institute for Learning
Solution Engineering