JavaScript is a powerful, dynamic programming language used to make web pages interactive and functional. It allows developers to control website behavior, handle user actions, update content in real time, and connect with servers — making it the brain of modern web development alongside HTML and CSS.
Here’s a complete, structured JavaScript syllabus — ideal for self-learning, teaching, or building a full coding curriculum 👇
Full JavaScript Syllabus and Topics
1. Introduction to JavaScript
- What is JavaScript and why it’s used
- JavaScript vs HTML & CSS
- How JavaScript works (the browser, engine, and interpreter)
- Embedding JS: Inline, Internal, External
- Setting up environment (VS Code, browser console)
- Writing your first script (
console.log())
2. JavaScript Basics
- Syntax and statements
- Variables (
var,let,const) - Data types (string, number, boolean, null, undefined, object)
- Type conversion (implicit & explicit)
- Comments and best practices
3. Operators and Expressions
- Arithmetic, assignment, and comparison operators
- Logical operators (
&&,||,!) - String concatenation and template literals
- Increment/decrement operators
- Ternary operator (
condition ? value1 : value2)
4. Control Flow
- Conditional statements:
if,else if,else,switch - Loops:
for,while,do...while - Loop control:
break,continue - Nested loops and conditional logic
5. Functions
- Function declaration and expression
- Parameters and return values
- Default parameters
- Arrow functions (
()=>{}) - Function scope and closures
- Immediately Invoked Function Expressions (IIFE)
6. Scope and Hoisting
- Global scope vs local scope
- Function scope and block scope
- Variable hoisting (
varvslet/const) - Function hoisting
- Temporal Dead Zone (TDZ)
7. Arrays and Objects
Arrays:
- Creating arrays and accessing elements
- Array methods:
push(),pop(),shift(),unshift(),splice(),slice() - Iterating arrays:
for,for...of,forEach() - Searching and filtering (
indexOf(),find(),filter(),map(),reduce())
Objects:
- Object literals and properties
- Adding, modifying, and deleting properties
Object.keys(),Object.values(),Object.entries()- Nested objects
- The
thiskeyword
8. Strings and Numbers
Strings:
- String methods:
length,charAt(),slice(),substring(),replace(),toUpperCase(),toLowerCase(),split() - Template literals and interpolation
Numbers:
- Number methods and properties (
toFixed(),parseInt(),parseFloat(),Mathobject) - Random numbers and rounding
9. DOM (Document Object Model) Manipulation
- Understanding the DOM tree
- Selecting elements (
getElementById,querySelector,querySelectorAll) - Changing content and attributes (
innerHTML,textContent,setAttribute) - Changing styles dynamically
- Creating and removing elements (
createElement,appendChild,remove())
10. Events and Event Handling
- Event types:
click,mouseover,keydown,submit, etc. - Adding event listeners (
addEventListener) - Event bubbling and capturing
event.targetandthiskeyword in events- Form validation using events
11. Date and Time
- Working with the
Dateobject - Getting and setting date/time values
- Formatting date/time
- Calculating time differences
12. Error Handling and Debugging
- Common JS errors
try...catch...finallyblocksthrowstatement- Using
consolemethods (log,error,warn,table) - Debugging in browser dev tools
13. ES6+ (Modern JavaScript Features)
letandconst- Template literals
- Destructuring arrays and objects
- Spread and rest operators (
...) - Default and named imports/exports
- Modules (
import/export) - Promises and
async/await - Arrow functions
- Classes and inheritance
- Sets, Maps, and WeakSets
14. JSON and APIs
- What is JSON and why it’s used
- Converting between objects and JSON (
JSON.parse(),JSON.stringify()) - Fetching data from APIs using
fetch() - Handling responses and errors
- Displaying fetched data dynamically
15. Asynchronous JavaScript
- Synchronous vs asynchronous code
- Callbacks
- Promises (
then,catch,finally) - Async/Await syntax
- Handling multiple requests with
Promise.all()
16. Local Storage & Session Storage
- Storing and retrieving data in local storage
localStorageandsessionStoragemethods (setItem,getItem,removeItem)- Using JSON with storage
- Persistent user data examples
17. Object-Oriented Programming (OOP)
- Understanding OOP concepts: Class, Object, Inheritance, Encapsulation, Polymorphism
- Constructor functions and prototypes
- ES6 classes and inheritance
super()and method overriding
18. Advanced Topics
- Closures and higher-order functions
- Callback hell and async patterns
- Event loop and call stack
- Debouncing and throttling
- Modules and imports
- Functional programming concepts
19. Projects and Practice
- Simple calculator
- To-do list app
- Digital clock
- Weather app (API-based)
- Form validation app
- Quiz app
- Portfolio site with interactive UI
20. Tools and Frameworks Overview
- JavaScript build tools: NPM, Babel, Webpack
- Front-end frameworks: React, Vue, Angular (overview)
- Back-end with Node.js (intro)
- DOM libraries: jQuery basics
Also read: 10 steps to start coding!!!
