0% found this document useful (0 votes)
21 views7 pages

Imp JS

The document outlines essential JavaScript concepts, including execution context, functions, closures, prototypes, asynchronous programming, advanced features, and DOM manipulation. It also covers ES6+ features and interview-specific topics, such as deep vs shallow copy and event loop questions. Additionally, it addresses data structures and performance best practices in JavaScript.

Uploaded by

raifaysal2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views7 pages

Imp JS

The document outlines essential JavaScript concepts, including execution context, functions, closures, prototypes, asynchronous programming, advanced features, and DOM manipulation. It also covers ES6+ features and interview-specific topics, such as deep vs shallow copy and event loop questions. Additionally, it addresses data structures and performance best practices in JavaScript.

Uploaded by

raifaysal2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
You are on page 1/ 7

1.

Core JavaScript Foundation (Deep Understanding)

Execution Context (Creation & Execution Phase)

Call Stack & Memory Heap

Hoisting (var, let, const, function declarations vs expressions)

Temporal Dead Zone

Scope (Global, Function, Block)

Lexical Scope

this keyword (global, function, arrow functions, object methods, event listeners, bind/call/apply)

2. Functions & Closures

Closures (real-world use cases)

Higher-Order Functions (HOFs)

Pure vs Impure Functions

IIFE (Immediately Invoked Function Expressions)

Function Currying
Debounce & Throttle (important for React & interviews)

Memoization

3. Prototypes & OOP

Prototypal Inheritance

__proto__ vs prototype

Object.create()

Classes (ES6+)

constructor, super, extends

Getters & Setters

Static methods

Polymorphism, Encapsulation, Inheritance (OOP principles)

4. Asynchronous JavaScript

Event Loop (Call Stack, Web APIs, Callback Queue, Microtasks)


setTimeout, setInterval, requestAnimationFrame

Promises (chaining, error handling)

async / await (error handling with try/catch)

Promise.all, Promise.allSettled, Promise.race, Promise.any

Fetch API & Axios basics

Real-world async flow (API calls, loading states)

5. Advanced Concepts

Module System (import / export, CommonJS vs ES Modules)

Destructuring & Spread/Rest Operator

Optional Chaining (?.) & Nullish Coalescing (??)

Template Literals & Tagged Templates

Event Delegation

Callbacks vs Promises vs Async/Await (differences)


Deep vs Shallow Copy (Object.assign, JSON.parse, structuredClone)

Iterators & Generators (function*)

Map, Set, WeakMap, WeakSet

Symbol & BigInt

Error Handling (try/catch, custom errors)

6. DOM & Browser APIs

Event Bubbling & Capturing

Event Delegation

addEventListener vs inline events

querySelector, getElementById, etc.

LocalStorage, SessionStorage, Cookies

History API (pushState, popState)

Custom Events & Dispatching events


7. ES6+ & Modern Features

Arrow Functions (and this behavior)

Default Parameters

Rest & Spread

Object/Array Destructuring

for...of vs for...in

Optional Chaining

Modules (import/export)

Async Iterators

Dynamic Imports

8. Interview-Specific Topics

Deep copy vs shallow copy

Difference between == and ===

null vs undefined
call, apply, bind (deep examples)

How this works in arrow vs normal functions

Why var is function-scoped vs let/const

Polyfills (for bind, map, filter, reduce)

Event Loop Questions (like output of tricky async code)

9. Data Structures in JS

Arrays (methods like map, filter, reduce, find, some, every)

Strings (methods like slice, substring, split, join)

Objects (keys, values, entries)

Sets & Maps (and where they are useful)

Stack & Queue implementation

Recursion basics (factorial, Fibonacci)

10. Performance & Best Practices


Debouncing & Throttling

Lazy Loading

Code splitting

Caching results (memoization)

Avoiding memory leaks (like event listener cleanup)

You might also like