Top 15 JavaScript Interview Questions and Answers (With Code Examples)
JavaScript is the backbone of web development, and whether you're applying for a frontend or full-stack role, you will face JavaScript questions in your interview. In this post, we’ve compiled the top 15 most commonly asked JavaScript interview questions — from the basics to tricky advanced topics, complete with clear answers and examples.
📌 Table of Contents
- What is the difference between
==and===? - What are closures in JavaScript?
- What is hoisting?
- What are callback functions?
- What is the event loop?
- Difference between
var,let, andconst - What is a Promise?
- What is async/await?
- What is the difference between null and undefined?
- Explain “this” keyword in JavaScript
- What is prototypal inheritance?
- What are arrow functions?
- Explain setTimeout and setInterval
- What is a higher-order function?
- How does JavaScript handle asynchronous code?
❓ Q1: What is the difference between == and ===?
✅ == compares values after type coercion, === compares both value and type.
5 == '5' // true
5 === '5' // false
❓ Q2: What are closures in JavaScript?
✅ A closure is a function that retains access to its lexical scope even after the outer function has returned.function outer() {
let count = 0;
return function inner() {
count++;
return count;
}
}
const counter = outer();
console.log(counter()); // 1
❓ Q3: What is hoisting?
✅ Hoisting is JavaScript's default behavior of moving declarations to the top of the current scope.console.log(a); // undefined
var a = 10;
❓ Q4: What are callback functions?
✅ A callback is a function passed into another function as an argument.function greet(name, callback) {
console.log("Hi " + name);
callback();
}
greet("Ankur", () => console.log("Welcome!"));
❓ Q5: What is the event loop?
✅ The event loop allows JavaScript to perform non-blocking operations by offloading operations to the browser APIs and handling them asynchronously.❓ Q6: Difference between var, let, and const
✅ var is function-scoped, let and const are block-scoped. const cannot be reassigned.
❓ Q7: What is a Promise?
✅ A Promise is an object that represents the eventual completion (or failure) of an asynchronous operation.let promise = new Promise((resolve, reject) => {
resolve("Done!");
});
promise.then(result => console.log(result));
❓ Q8: What is async/await?
✅async and await make asynchronous code look synchronous.
async function fetchData() {
let res = await fetch("api/data");
let data = await res.json();
}
❓ Q9: What is the difference between null and undefined?
✅null means an intentional absence of any object value; undefined means a variable has been declared but not assigned.
❓ Q10: Explain “this” keyword in JavaScript
✅this refers to the object that is executing the current function.
❓ Q11: What is prototypal inheritance?
✅ Objects can inherit properties and methods from another object via the prototype chain.❓ Q12: What are arrow functions?
✅ Arrow functions are a shorter syntax for writing functions and don’t have their ownthis binding.
const add = (a, b) => a + b;
❓ Q13: Explain setTimeout and setInterval
✅setTimeout() runs a function once after a delay, setInterval() runs it repeatedly at a given interval.
❓ Q14: What is a higher-order function?
✅ A function that takes another function as an argument or returns one.function multiplier(factor) {
return function(number) {
return number * factor;
};
}
❓ Q15: How does JavaScript handle asynchronous code?
✅ Through the event loop, using callbacks, promises, and async/await.📣 Final Words
JavaScript is one of the most asked topics in web development interviews. Make sure you understand these concepts well and practice implementing them. This post gives you a solid base to build on.
Stay tuned: Next up – React Hooks Interview Questions and Answers!
📧 Got a topic request? Email me at interviewwithcode@gmail.com
📥 Free Resource (Coming Soon)
Download our PDF “50 JavaScript Questions with Answers” — Available for free subscribers!

Comments
Post a Comment