JavaScript Full Syllabus
From Intro to Advanced + Projects
π’ 1. JavaScript Introduction
- What is JavaScript?
- Client-side vs Server-side JS
- History & Evolution of JavaScript
- ECMA & ECMAScript versions (ES5 to ES14)
- JavaScript vs Java
- How JS is executed (JS Engine: V8, SpiderMonkey)
π’ Client-side vs Server-side JavaScript
π’ JavaScript vs Java
π’ How JavaScript is Executed (JS Engine)
π’ 2. Basics & Syntax
- Statements & Semicolons
- Keywords and Identifiers
- Comments (//, /* */)
- Case Sensitivity
- Whitespace
π’ 3. Variables & Data Types
- var, let, const
- Hoisting: var vs let vs const
- Primitive Types: String, Number, Boolean, Null, Undefined, Symbol, BigInt
- NonβPrimitive: Objects, Arrays, Functions
π’ 4. Operators
- Arithmetic, Assignment, Comparison, Logical, Bitwise
- Ternary Operator
- Typeof Operator
- Nullish Coalescing (??)
- Optional Chaining (?.)
π’ 5. Type Conversion & Coercion
- Implicit vs Explicit Conversion
- parseInt(), parseFloat(), Number(), String()
- Truthy & Falsy values
- == vs ===
π’ 6. Control Flow & Conditions
- if, else, else if
- switch statement
- break and continue
π’ 7. Loops
- for, while, do-while loops
- for...in, for...of
- Loop control: break, continue, return
π’ 8. Functions
- Declaration vs Expression
- Anonymous Functions
- Params & Return
- Scope & Closures
- IIFE
- Arrow Functions
- Rest & Default Params
- Higher-order & Callback Functions
- Recursion
π‘ 9. Objects
- Object Literals, dot vs bracket
- Modify/Add/Delete Properties
- this keyword
- Nested Objects
- Constructor Functions
- Prototypes & Inheritance
- Destructuring, Spread, Object methods
π‘ 10. Arrays
- Declare & Access Elements
- push(), pop(), shift(), unshift()
- slice(), splice(), concat(), join(), split()
- indexOf(), includes(), find(), findIndex()
- map(), filter(), reduce(), every(), some()
- sort(), reverse(), flat(), Spread & Destructuring
π‘ 11. Strings
- Declaration & Escape Characters
- length, charAt(), indexOf()
- substring(), slice(), substr()
- toUpperCase(), toLowerCase()
- replace(), replaceAll()
- split(), trim()
- Template Literals
π‘ 12. Scope & Execution Context
- Global vs Local Scope
- Function vs Block Scope
- Lexical Scope & Hoisting
- this keyword
- Execution Context & Call Stack
π‘ 13. Closures
- What is a Closure?
- Use Cases & Loops
- Data Privacy
π‘ 14. Error Handling
- try, catch, finally
- throw statement
- Custom Errors
- Error Object properties
π‘ 15. Events
- Event Listeners
- Mouse, Keyboard, Form events
- add/removeEventListener()
- Event Object, Bubbling, Capturing, Delegation
- preventDefault(), stopPropagation()
π‘ 16. DOM Manipulation
- What is DOM?
- Selection: getElementById, className, querySelector(A)
- Traversing, innerHTML/textContent
- Attributes, create/remove elements
- Styling via JS, DOM tree
π΅ 17. ES6+ Advanced Features
- let vs const vs var
- Arrow Functions
- Template Literals
- Destructuring, Spread & Rest
- Default Params
- Enhanced Object Literals
- Optional Chaining, Nullish Coalescing
π΅ 18. Classes & Inheritance
- Class Syntax
- Constructors
- Instance & Static Methods
- extends & super()
- Private fields, Getters/Setters
π΅ 19. Asynchronous JavaScript
- Synchronous vs Async
- Callbacks & Callback Hell
- Promises (then/catch/finally)
- async/await
- Promise.all(), race(), any()
- Error Handling in async
π΅ 20. JavaScript Modules
- What is a Module?
- ES6 import/export
- Default vs Named Exports
- Module Bundlers
π΅ 21. Working with JSON
- What is JSON?
- Syntax Rules
- JSON.parse()
- JSON.stringify()
π΅ 22. Local & Session Storage
- localStorage vs sessionStorage
- setItem(), getItem(), removeItem(), clear()
- Storing objects via JSON
π΅ 23. Fetch API & AJAX
- What is AJAX?
- XMLHttpRequest
- Fetch API + Promises
- async/await
- HTTP Methods & Status Codes
- Headers & CORS
π£ 24. Date & Time
- Creating Dates
- getFullYear(), getMonth(), getDate()
- Formatting Dates
- Working with Time
π£ 25. Regular Expressions
- Literals & Constructors
- Patterns & Modifiers
- Methods: test(), exec(), match(), replace()
- Common Validation Examples
π£ 26. Memory Management
- Memory Lifecycle & Garbage Collection
- Avoid Memory Leaks
π£ 27. Best Practices & Clean Code
- Naming Conventions
- DRY, KISS, YAGNI
- Comments & Documentation
π₯ 29. Real-World Projects
- To-Do List
- Calculator
- Weather App (API)
- Expense Tracker
- Quiz App
- Form Validator
- Note Keeper (localStorage)