JavaScript Roadmap ๐
Find the detailed version of this roadmap along with resources and other roadmaps at
roadmap.sh
๐
Introduction to JavaScript ๐
- What is JavaScript?
- History of JavaScript
- JavaScript Versions
- How to run JavaScript?
Beginner Topics ๐
- All About Variables
- Variable Declarations
- Variable Naming Rules
- Hoisting
- Data Types
- Primitive Types:
string
,number
,bigint
,boolean
,null
,undefined
,Symbol
- Primitive Types:
- Variable Scopes
Intermediate Topics ๐
Object
- Object Prototype
- Prototypal Inheritance
- Built-in Objects
Data Structures
- Indexed Collections
- Arrays
- Typed Arrays
- Keyed Collections
- Map
- WeakMap
- Set
- WeakSet
- Structured Data
- JSON
- Indexed Collections
Type Casting
- Implicit & Explicit
- Type Conversion vs Coercion
Equality Comparisons
-
==
,===
,Object.is
- isLooselyEqual, isStrictlyEqual, SameValueZero, SameValue
-
Advanced Topics ๐
Control Flow ๐
- Conditional Statements
- Switch vs If…Else
- Loops and Iterations
-
for
,while
,do...while
-
for...in
,for...of
- break / continue
- Labeled Statements
-
Exception Handling ๐
-
throw
,try/catch/finally
- Utilizing Error Objects
Expressions and Operators ๐
- Assignment, Comparison, Arithmetic, Logical
- Bitwise, BigInt, String, Conditional
- Comma, Unary, Relational
Functions ๐
- Defining and Calling
- Parameters (default, rest)
- Arrow Functions
- IIFEs
- Scope & Function Stack
- Recursion
- Lexical Scoping & Closures
-
arguments
object - Built-in Functions
This Keyword ๐
- using
this
alone - in methods / functions
- in event handlers
- in arrow functions
- Function Borrowing
Asynchronous JavaScript ๐
-
setTimeout
,setInterval
- Callbacks & Callback Hell
- Promises
- async / await
Classes ๐
Iterators and Generators ๐
Modules ๐
- CommonJS
- ECMAScript Modules
Memory Management ๐
- Memory Lifecycle
- Garbage Collection
Debugging (Using Chrome Dev Tools) ๐
- Debugging Issues
- Memory Leaks
- Performance
For ecosystem and more, check other tracks involving JavaScript:
- Backend Roadmap
- Frontend Roadmap