- Published on
JavaScript Interview Questions for Beginners
- Authors
- Name
- codewithininsight
- @
JavaScript is one of the most popular programming languages, and having a strong foundation is crucial for acing interviews. In this post, we’ll cover some of the most commonly asked JavaScript interview questions for beginners.
1. What are the data types in JavaScript?
Question: List the data types supported by JavaScript.
Answer:
JavaScript has 7 primitive data types and one non-primitive type:
Primitive Types:
String
Number
Boolean
Undefined
Null
Symbol
(introduced in ES6)BigInt
(introduced in ES11)
Non-Primitive Type:
Object
(includes arrays, functions, and objects).
==
and ===
?
2. What is the difference between Question: How do ==
and ===
differ?
Answer:
==
(Abstract Equality):- Compares values after performing type coercion.
console.log(5 == '5') // true
===
(Strict Equality):- Compares values without type coercion..
console.log(5 === '5') // false
var
, let
, and const
.
3. Explain Question: What are the differences between var
, let
, and const
?
Feature | var | let | const |
---|---|---|---|
Scope | Function-scoped | Block-scoped | Block-scoped |
Re-declaration | Allowed | Not allowed | Not allowed |
Re-assignment | Allowed | Allowed | Not allowed |
Hoisting | Hoisted but initialized to undefined | Hoisted but not initialized | Hoisted but not initialized |
Usage | Used in older JavaScript code; avoid in modern code. | Recommended for variables that may change. | Recommended for constants and values that won't change. |
Code Examples
var
var x = 10
console.log(x) // 10
x = 20 // Re-assignment allowed
console.log(x) // 20
let
let y = 15
console.log(y) // 15
y = 25 // Re-assignment allowed
console.log(y) // 25
// let y = 35; // Error: Cannot re-declare 'y' in the same scope
const
const z = 30
console.log(z) // 30
// z = 40; // Error: Assignment to constant variable
// const z = 50; // Error: Cannot re-declare 'z' in the same scope
Summary
- Use
let
for variables that may change. - Use
const
for constants or values that should remain the same. - Avoid using
var
in modern JavaScript.
4. What are JavaScript closures?
Question: What is a closure in JavaScript?
Answer:
A closure is a function that has access to its own scope, the scope of the outer function, and the global scope.
Example:
function outer() {
let count = 0
return function inner() {
count++
return count
}
}
const counter = outer()
console.log(counter()) // 1
console.log(counter()) // 2
null
and undefined
?
5. What is the difference between Question: How do null
and u
ndefined` differ?
Answer:
null
: Represents the intentional absence of a value. It's assigned by the programmer.undefined
: Indicates a variable that has been declared but not assigned a value.
Example:
let a
console.log(a) // undefined
let b = null
console.log(b) // null
6. What is the difference between function declarations and function expressions?
Question: How do function declarations differ from function expressions?
Answer:
Feature | Function Declaration | Function Expression |
---|---|---|
Syntax | function foo() {} | const foo = function() {}; |
Hoisting | Hoisted (can be used before declaration) | Not hoisted (cannot be used before declaration) |
Example:
// Function Declaration
function greet() {
console.log('Hello')
}
// Function Expression
const greet = function () {
console.log('Hello')
}
7. What are JavaScript Promises?
Question: Explain Promises
in JavaScript.
Answer:
A Promise
is an object representing the eventual completion or failure of an asynchronous operation.
Example:
const promise = new Promise((resolve, reject) => {
let success = true
if (success) {
resolve('Operation succeeded')
} else {
reject('Operation failed')
}
})
promise
.then((message) => console.log(message)) // Operation succeeded
.catch((error) => console.log(error))
8. What is the difference between synchronous and asynchronous programming?
Question: How do synchronous and asynchronous programming differ?
Answer: - Synchronous
: Tasks are executed one at a time, blocking subsequent tasks. - Asynchronous
: Tasks are executed independently, allowing other tasks to run simultaneously.
Example:
// Synchronous
console.log('Start')
console.log('End')
// Asynchronous
console.log('Start')
setTimeout(() => console.log('Async Task'), 1000)
console.log('End')
this
keyword in JavaScript?
9. What is the Question: What does the this
keyword refer to?
Answer:
The this
keyword refers to the object that is currently executing the function. Its value depends on how the function is called.
Example:
const obj = {
name: 'John',
greet() {
console.log(this.name)
},
}
obj.greet() // 'John'
10. What are JavaScript Arrow Functions?
Question: Explain arrow functions.
Answer:
Arrow functions are a concise way to write functions in JavaScript. They do not have their own this and are often used for callbacks.
Example:
const add = (a, b) => a + b
console.log(add(5, 3)) // 8
Conclusion
These questions cover essential JavaScript concepts that are commonly asked in beginner interviews. Understanding these basics will not only help you crack interviews but also strengthen your foundation in JavaScript.
Good luck with your interview preparation!