Here are some of the most commonly asked JavaScript interview questions and answers:
1. What is JavaScript and its uses?
JavaScript is a high-level, dynamic, and interpreted programming language that is primarily used for client-side scripting on the web. It's used for creating interactive web pages, web applications, and mobile applications.
2. What is the difference between null and undefined in JavaScript?
null
represents a deliberate absence of any object value.undefined
represents an uninitialized variable or a non-existent property.
Example:
let x = null; // x is explicitly set to null
let y; // y is undefined (not initialized)
3. What is the difference between == and === in JavaScript?
==
checks for equality in value only.===
checks for equality in both value and type.
Example:
console.log(5 == '5'); // true
console.log(5 === '5'); // false
4. What is a closure in JavaScript?
A closure is a function that has access to its own scope and the scope of its outer functions. It's used to create private variables and functions.
Example:
function outer() {
let x = 10;
function inner() {
console.log(x); // has access to outer's scope
}
return inner;
}
const innerFunc = outer();
innerFunc(); // outputs 10
5. How do you create a new object in JavaScript?
There are several ways to create a new object in JavaScript:
Using the
Object
constructor:let obj = new Object();
Using object literals:
let obj = {};
Using the
Object.create()
method:let obj = Object.create(null);
6. What is the difference between var, let, and const in JavaScript?
var
is function-scoped and can be redeclared.let
is block-scoped and cannot be redeclared.const
is block-scoped and cannot be redeclared or reassigned.
Example:
var x = 10;
let y = 20;
const z = 30;
console.log(x); // 10
console.log(y); // 20
console.log(z); // 30
x = 40; // no error
y = 50; // no error
z = 60; // error (cannot reassign const)
7. What is the purpose of the this
keyword in JavaScript?
The this
keyword refers to the current execution context of a function. It's used to access properties and methods of an object.
Example:
function Person(name) {
this.name = name;
this.sayHello = function() {
console.log(`Hello, my name is ${this.name}`);
};
}
const person = new Person('John');
person.sayHello(); // outputs "Hello, my name is John"
8. How do you handle errors in JavaScript?
JavaScript provides a built-in try-catch
block to handle errors.
Example:
try {
let x = 10 / 0; // will throw an error
} catch (error) {
console.log(`Error: ${error.message}`);
}
9. What is the difference between synchronous and asynchronous programming in JavaScript?
Synchronous programming executes code in a linear sequence.
Asynchronous programming executes code in parallel, using callbacks or promises.
Example:
// synchronous
console.log('1');
console.log('2');
console.log('3');
// asynchronous (using callbacks)
setTimeout(() => {
console.log('1');
}, 1000);
console.log('2');
console.log('3');
10. What is a promise in JavaScript?
A promise is an object that represents the eventual completion (or failure) of an asynchronous operation.
Example:
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Hello, world!');
}, 2000);
});
promise.then((message) => {
console.log(message); // outputs "Hello, world!" after 2 seconds
});
11. How do you use the map()
method in JavaScript?
The map()
method creates a new array with the results of applying a provided function to every element in the original array.
Example:
const numbers = [1, 2, 3, 4, 5];
const doubledNumbers = numbers.map((number) => number * 2);
console.log(doubledNumbers); // outputs [2, 4, 6, 8, 10]
prepare your frontend interviews here: https://thewebdev.gumroad.com/l/frontendinterviewprep