⚡
JavaScript
Single-threaded, event-driven, and everywhere. Master these concepts and you’re ready for any JS interview.
Topics
Closures & Scope
Lexical scope, closure patterns, and common pitfalls.
Prototypes & Inheritance
Prototype chain, Object.create, class syntax.
Event Loop & Async
Call stack, microtasks, macrotasks, Promise, async/await.
ES6+ Features
Arrow functions, destructuring, modules, and more.
Array Methods
map, filter, reduce, and other built-in methods.
Error Handling
try/catch, custom errors, async error handling.
Core characteristics
| Property | Value |
|---|---|
| Typing | Dynamic, weakly typed |
| Paradigm | Multi-paradigm (OOP, functional, event-driven) |
| Execution | Single-threaded with event loop |
| Scope | Lexical (static) |
◆ Most Asked Topics
Closures, the event loop, prototypal inheritance, and
this binding appear in nearly every JS interview. Know these cold.Quick reference
💡 Interview Tip
Always use
=== over ==. Explain why when asked — type coercion in JS is a common trick question area.Common interview questions
What is the difference between == and ===?
What is the difference between == and ===?
== performs type coercion before comparing. === (strict equality) compares both value and type without coercion. Always prefer === to avoid unexpected behavior.What is hoisting?
What is hoisting?
JavaScript moves variable and function declarations to the top of their scope before execution.
var declarations are hoisted and initialized to undefined. let/const are hoisted but stay in the Temporal Dead Zone (TDZ) until the declaration is reached. Function declarations are fully hoisted (body included).What are the falsy values in JavaScript?
What are the falsy values in JavaScript?
There are exactly 6 falsy values:
false, 0, "" (empty string), null, undefined, and NaN. Everything else is truthy — including [], {}, and "false".