🌱 "Success doesn’t come from what you do occasionally, it comes from what you do consistently."
-
JavaScript Basics
- Purpose, How It Works, and Use in Web Development
- Showing Output with
console.log()
andconsole.table()
-
Variables & Data Types
- Declaring Variables (
var
,let
,const
) - Primitive vs Reference Types
- Checking Types with
typeof
- Declaring Variables (
-
Type Conversion
- Converting Between String, Number, and Boolean
- Implicit vs Explicit Conversion
🧠 "Code is like humor. When you have to explain it, it’s bad."
-
Operations in JavaScript
- Arithmetic Operations
- String Operations
- Operator Precedence
- Prefix and Postfix Increments
- Tricky Conversions and Type Coercion
- Tricky Assignments
-
Comparisons in JavaScript
- Basic Comparisons
- Tricky Comparisons (null, undefined)
- Strict Equality vs Loose Equality (
===
vs==
) - Not Equal Operators (
!=
vs!==
)
-
Datatypes in JavaScript
- Primitive Datatypes
- Reference (Non-Primitive) Datatypes
- Tricky Datatype Checks (
typeof null
)
🧠 "Understanding memory and strings is key to mastering JavaScript."
-
Memory Management
- Stack vs Heap
- Primitive vs Reference Types
const
Binding vs Value Mutability
-
Strings Fundamentals
- String Creation & Access
- String Immutability
- String Prototype
-
String Methods & Utilities
- Common String Methods (charAt, slice, replace, etc.)
- String Comparison (
localeCompare
) - Legacy HTML String Methods (deprecated)
🌱 "Every expert was once a beginner. Keep coding, keep growing."
-
Numbers & Formatting
- Defining numbers (primitive vs object)
- Methods:
toFixed()
– fixed decimal placestoString()
– convert to stringtoPrecision()
– set total digitstoLocaleString()
– readable format
-
Math Operations
- Constants:
Math.PI
,Math.E
- Methods:
abs()
,sqrt()
round()
,ceil()
,floor()
min()
,max()
- Random no. generation:
Math.random()
– value between 0 and 1 Custom range logic (e.g., 1–10, min–max)
- Constants:
-
Dates & Time
- Create dates (current and specific)
- Format methods:
toString()
,toDateString()
,toISOString()
,toLocaleString()
- Timestamps:
Date.now()
, convert to seconds - Extract parts:
getMonth()
,getDate()
🌟 "Learning to write programs stretches your mind, and helps you think better."
-
Arrays
- What is an Array?
- Array Indexing Basics
- Creating arrays:
Literal Syntax
[]
Constructor Syntaxnew Array()
-
Working with Arrays
- Add/Remove:
push()
,pop()
,unshift()
,shift()
- Search:
includes()
,indexOf()
- Transform:
slice()
,splice()
,join()
,flat()
- Add/Remove:
-
Combining & Converting
- Merge:
concat()
, spread...
- Convert:
Array.from()
,Array.of()
- Type Check:
Array.isArray()
- Merge:
🤖 "Programming is 10% writing code and 90% figuring out why it doesn’t work — welcome to the club!"
-
Understanding Objects
- What is an Object?
- Accessing Values (Dot & Bracket Notation)
- Symbol Keys
-
Creating & Structuring Objects
- Object Literals vs Constructor Syntax
- Nested Objects
- Array of Objects
-
Working with Objects
- Methods &
this
Keyword - Freezing Objects
- Merging Objects (
Object.assign()
, Spread Operator) - Utility Methods:
keys()
,values()
,entries()
,hasOwnProperty()
- Methods &
🌟 "Data isn't just stored — it's structured, shared, and made functional."
-
Object Destructuring
- Extracting properties from objects
- Renaming variables during destructuring
- Practical use with user data or API responses
-
Intro to JSON
- Understanding JSON structure
- Differences between JSON and JavaScript objects
- Common usage in APIs and data exchange
-
Functions in JavaScript
- Normal Function
- Function with Return
- Function with If Condition
- Function with Default Values
✨ "Functions make code reusable. Scope makes code manageable."
-
Functions and Scope
- Functions with Spread as Parameter
- Functions with Fixed and Spread Parameters
- Functions with Object as Parameter
- Functions with Array as Parameter
-
Understanding Scope in JavaScript
- What is Scope?
- Using
var
- Using
let
- Using
const
🧠 "Understanding scope and context unlocks powerful control over your code."
-
Scope in JavaScript
- Block Scope (
let
,const
,var
) - Lexical Scope and Closures
- Block Scope (
-
Function Behavior
- Function Declarations vs Expressions
- Arrow Functions and
this
Binding
-
The
this
Keyword- In Object Methods, Global Context, and Different Function Types
- In Object Methods, Global Context, and Different Function Types
-
Essentials Recap
- Scope Safety, Closure Use, Hoisting Rules, and Context Awareness
🌀 "JavaScript doesn’t sleep — it stacks dreams in a call stack and wakes them with a function."
-
IIFE (Immediately Invoked Function Expression)
- What is IIFE?
- Why use IIFE?
- Important Rules
-
JavaScript Execution Contexts & Lifecycle
- How JavaScript Runs Code
- Types of Execution Contexts
- Global Execution Context
- Functional Execution Context
- Execution Context Lifecycle (Step-by-Step)
- Memory Creation Phase
- Execution Phase
-
Call Stack in JavaScript
- What is Call Stack?
- How Call Stack Works with examples
🌱 "It’s not that I’m so smart, it’s just that I stay with problems longer."
-
Control Flow Basics
- Overview of Execution Order
- Conditional and Looping Statements
-
Conditional Statements
if
,else if
,else
- Logical Operators (
&&
,||
,!
) - Double NOT (
!!
) and Boolean Conversion switch
Statement- Ternary Operator (
? :
) - Nullish Coalescing Operator (
??
)
-
Truthy & Falsy Values
- Falsy Value List
- Tricky Truthy Values
-
Loops in JavaScript
for
Loop Syntax and Usage- Nested Loops
- Looping through Arrays
break
andcontinue
in Loops
🔄 "Control the flow, shape the data — great code begins with great loops."
-
JavaSript Loops
- While & Do-While Loops
- forEach Method for Arrays
-
Iterating with For Loops
- For...of Loop (Values in Arrays, Strings, Maps)
- For...in Loop (Keys/Indexes in Objects & Arrays)
-
Map Data Structure
- Key-Value Pairs with Order
- Differences from Objects
- Iteration with for...of
🛠️ "Fix the cause, not the symptom."
-
Array Methods
filter()
– Selecting values based on conditionsmap()
– Transforming each value in an arrayreduce()
– Combining all values into one result- Method Chaining – Using multiple array methods together
-
DOM Basics and Tree
- What is DOM? – Understanding the document tree structure
window
anddocument
Objects – Connecting JavaScript to the browser and webpage
🌱 "DOM connects HTML and JavaScript, letting us manipulate web pages dynamically."
-
DOM Selection & Collections
- Selectors:
getElementById
,getElementsByClassName
,querySelector
, etc. - HTMLCollection vs NodeList
- Converting to Arrays for Iteration
- Selectors:
-
DOM Properties & Methods
- Accessing/Changing Text and HTML (
innerText
,innerHTML
) - Managing Attributes (
getAttribute
,setAttribute
) - Inline Styling (
style
property) - Navigating Between Elements: parent, children, siblings
- Accessing/Changing Text and HTML (
-
DOM Manipulation
- Creating & Appending Elements
- Setting Attributes and Text
- Looping for Multiple Elements
✨ "Web interactivity grows when you can change or remove elements dynamically."
-
DOM Manipulation: Edit & Delete Elements
- Enhancing interactivity and user experience on real websites
- Replace content dynamically using
replaceWith()
- Remove elements with
remove()
method
-
Mini JavaScript Projects (DOM Practice)
- Project 1: Background Color Changer
- Project 2: BMI Calculator
- Project 3: Digital Clock
- Project 4: Guess the Number Game
🎯 "Events are the heartbeat of interactive web pages — learn to listen well."
-
JavaScript Event Listeners
- Definition and Purpose of Event Listeners
- Common Examples of Events (click, keypress, mouseover)
-
Different Ways to Add Event Listeners
- Inline Event Listeners (Old Method)
- Using Element Properties (
onclick
) - Using
addEventListener()
(Modern Best Practice)
-
Event Object in Event Listeners
- Event Object
- Event Object Methods
- Event Object Properties
-
Event Propagation
- Event Bubbling
- Event Capturing