JavaScript
Fundamentals, functions, async, ES6+ and interview questions
Learn JavaScript from the ground up: variables and types, scope and closures, the event loop, promises and async/await, and modern ES6+ syntax. Every topic pairs a clear explanation and real-world analogy with runnable code, and the interview section drills the questions and output-based problems asked most often — segmented for freshers and experienced developers.
Fundamentals 5 topics
var vs let vs const
How the three declarations differ in scope, hoisting and reassignment.
Data types & type coercion
The primitive types and how JavaScript silently converts between them.
Hoisting
Why declarations appear to move to the top of their scope.
Arrays & array methods
The essential iteration methods: map, filter and reduce.
Objects & object methods
Working with key-value data and the built-in Object helpers.
Functions 6 topics
Closures
Functions that remember the scope they were created in.
The this keyword
How this is determined by how a function is called.
Arrow functions
Concise function syntax with lexical this.
call, apply & bind
Explicitly controlling what this refers to.
Currying
Transforming a multi-arg function into a chain of single-arg functions.
Higher-order functions
Functions that take or return other functions.
Asynchronous JS 2 topics
Modern JS (ES6+) 3 topics
Objects & OOP 2 topics
Interview questions 5 topics
Explain closures with a real use case
A frequently asked question — definition plus why it matters.
Output question: what does this print?
An output-based question testing hoisting and the event loop.
Implement debounce
A very common coding round: write a debounce utility.
Implement throttle
A common coding round: write a throttle utility and contrast it with debounce.
Output question: this in methods vs arrows
An output-based question probing this binding.
JavaScript is a trademark of its respective owner. PrepForge is an independent learning resource and is not affiliated with or endorsed by it.