JavaScript Notes
HubYour First JavaScript Program — Hello World & Beyond Complete Guide 2026History of JavaScript — Complete Timeline from 1995 to 2026How JavaScript Runs — Complete Guide to Execution, Call Stack & Event LoopJavaScript Engine Explained — V8, JIT Compilation & How Code Gets FastJavaScript Use Cases — 15 Things You Can Build with JavaScript (2026)JavaScript vs Other Languages — Complete Comparison Guide 2026What is JavaScript? Complete BeginnerWhy Learn JavaScript in 2026? Career, Salary, Scope & Benefits GuideJavaScript Break Statement Tutorial – Complete Guide with ExamplesJavaScript Break and Continue Statements – Complete Guide with ExamplesJavaScript Continue Statement Tutorial – Skip Iterations with ExamplesJavaScript Do While Loop Tutorial – Execute at Least Once with ExamplesJavaScript Do-While Loop Tutorial – Complete Guide with ExamplesJavaScript For Loop Tutorial – Complete Guide with ExamplesJavaScript If Statement Tutorial – Conditional Logic with ExamplesJavaScript If Else Statement Tutorial – Complete Guide with ExamplesJavaScript If Statement Tutorial – Complete Guide with ExamplesJavaScript Nested If Statement Tutorial – Multi-Level Conditions with ExamplesNested Loops in JavaScriptJavaScript Control Flow Practice Programs – 20+ Exercises with SolutionsJavaScript Switch Statement Tutorial – Case Matching with ExamplesSwitch Statement in JavaScriptJavaScript While Loop Tutorial – Complete Guide with ExamplesJavaScript Arrow Functions Tutorial – Syntax, Use Cases & this BindingJavaScript Callback Functions Explained – Synchronous & AsynchronousJavaScript Closures Explained – Lexical Scope, Private State & MemoryJavaScript Function Declaration Tutorial – Hoisting, Syntax & ScopeJavaScript Function Expression Tutorial – Anonymous, Named & AssignedJavaScript Higher Order Functions Tutorial – map, filter, reduce & Custom HOFsJavaScript IIFE Explained – Immediately Invoked Function ExpressionJavaScript Functions Practice Programs – 20+ Exercises with SolutionsJavaScript Recursion Tutorial – Call Stack, Base Case & Recursive PatternsJavaScript Array Basics - Complete BeginnerJavaScript Array Methods - Complete Reference Guide with ExamplesJavaScript Array Programs - 20+ Practice Problems with SolutionsJavaScript Arrays Basics - Complete Guide with Examples & DiagramsJavaScript Array filter() Method - Complete Tutorial with ExamplesJavaScript filter() Method — Complete Guide with Examples 2026JavaScript Array find() Method - Complete Tutorial with ExamplesJavaScript find() & findIndex() — Complete Guide 2026JavaScript Array map() Method - Complete Tutorial with ExamplesJavaScript map() Method — Transform Arrays Complete Guide 2026JavaScript map() vs forEach() - Key Differences with ExamplesJavaScript Array push() and pop() - Complete Tutorial with ExamplesJavaScript Array reduce() Method - Complete Tutorial with ExamplesJavaScript reduce() Method — Complete Deep Dive with Examples 2026JavaScript Array shift() and unshift() - Complete Tutorial with ExamplesJavaScript Array sort() Method - Complete Tutorial with ExamplesJavaScript splice() vs slice() - Complete Tutorial with ExamplesJavaScript Object Destructuring - Complete Guide with ExamplesJavaScript Objects - Complete Guide to Object Basics with ExamplesJavaScript Object Methods - Built-in Methods & Custom Methods Complete GuideJavaScript Object Programs - Practice Problems with SolutionsJavaScript Object Properties - Keys, Values, Descriptors & Dynamic PropertiesJavaScript Rest Operator (...) - Parameters, Destructuring & Complete GuideJavaScript Spread Operator (...) - Complete Guide with ExamplesJavaScript this Keyword - Complete Guide with Binding Rules & ExamplesJavaScript String Basics - Complete Guide to Strings with ExamplesJavaScript String Methods - Complete Reference with Examples & OutputJavaScript String Programs - Practice Problems with SolutionsJavaScript String Replacing - replace(), replaceAll() & Regex Patterns GuideJavaScript String Searching Methods - includes, indexOf, startsWith, match GuideJavaScript Template Literals (ES6) - Complete Guide with Tagged TemplatesJavaScript DOM Changing Content - textContent, innerHTML, setAttribute Complete GuideJavaScript DOM Changing Styles - CSS Manipulation, classList & getComputedStyleJavaScript DOM Creating Elements - createElement, appendChild, DocumentFragment GuideJavaScript DOM Introduction - Complete Guide to Document Object ModelJavaScript DOM Traversal - Navigate Parent, Child & Sibling NodesJavaScript DOM Forms - Form Handling, Validation & FormData Complete GuideJavaScript localStorage - Complete Guide to Web Storage APIlocalStorage vs sessionStorage - JavaScript Web Storage Comparison GuideJavaScript DOM Removing Elements - remove(), removeChild() Complete GuideJavaScript DOM Selecting Elements - querySelector, getElementById Complete GuideJavaScript sessionStorage - Complete Guide to Session-Based Web StorageJavaScript Click Event - addEventListener, Event Handler Complete GuideEvent Bubbling in JavaScript – Complete Guide with Examples (2026)Event Capturing in JavaScript – Complete Guide to Capture Phase (2026)Event Delegation in JavaScript – Complete Guide with Examples (2026)JavaScript Event Object – Complete Guide with Examples (2026)JavaScript Form Events – Complete Guide with Examples (2026)JavaScript Keyboard Events – Complete Guide to keydown, keyup & Key Properties (2026)JavaScript Mouse Events – Complete Guide with Examples (2026)JavaScript Async Await - Complete Guide with Examples & Error HandlingJavaScript Call Stack - Complete Guide with Visual Diagrams & ExamplesJavaScript Callback Queue (Task Queue) - Complete Guide with DiagramsJavaScript Callbacks - Complete Guide with Callback Hell & PatternsJavaScript Event Loop - Complete Guide with Visual Diagrams & ExamplesJavaScript Fetch API - Complete Guide with Examples, Error Handling & Async/AwaitJSON in JavaScript - Complete Guide: Parse, Stringify, Fetch & Error HandlingJavaScript Promise.all, Promise.race, Promise.any, Promise.allSettled — Complete Guide 2026JavaScript Promises - Complete Guide with Chaining, Error Handling & Event LoopSynchronous vs Asynchronous JavaScript — Complete Explanation 2026JavaScript Web APIs - Complete Guide: setTimeout, fetch, DOM Events & MoreClosures in JavaScript — Complete Guide with Examples 2026Hoisting in JavaScript — Complete Guide with Examples 2026Prototype in JavaScript — Complete Guide with Examples 2026Scope in JavaScript — Complete Guide with Examples 2026Browser Object Model (BOM) in JavaScript — Complete GuideCanvas API in JavaScript — Complete Drawing & Animation GuideDrag and Drop API in JavaScript — Complete TutorialGeolocation API in JavaScript — Get User Location TutorialHistory API in JavaScript — SPA Routing & pushState GuideNotification API in JavaScript — Push Notifications TutorialService Workers in JavaScript — Offline, Caching & PWA GuideWeb Storage API in JavaScript — localStorage & sessionStorage GuideWeb Workers in JavaScript — Multithreading & Background Tasks GuideJavaScript Interview — Behavioral Questions and Soft Skills Guide 2026Common JavaScript Interview Mistakes — What to Avoid 2026JavaScript Interview Tips — Strategy and Preparation Guide 2026JavaScript Mock Interview — Practice Questions with Solutions 2026JavaScript System Design — Frontend Architecture Interview Guide 2026JavaScript apply() Method - Complete Guide with ExamplesJavaScript bind() Method - Complete Guide with ExamplesJavaScript call() Method - Complete Guide with ExamplesJavaScript call() vs apply() vs bind() - Complete Comparison GuideJavaScript Currying - Complete Guide with ExamplesJavaScript Debounce - Complete Guide with Timeline DiagramsJavaScript Execution Context - Complete Guide with Stack DiagramsJavaScript Garbage Collection - Memory Lifecycle & Mark-and-Sweep GuideJavaScript Generators - Complete Guide with yield and IterationJavaScript Hoisting - Complete Guide with var, let, const & FunctionsJavaScript Iterators - Complete Guide with Iterator ProtocolJavaScript Lexical Scope - Complete Guide with Scope Chain DiagramsJavaScript Memory Management - Complete Guide with Lifecycle DiagramsJavaScript Modules - Complete Guide with import export ExamplesJavaScript Scope - Complete Guide with var, let, const & Scope ChainJavaScript Symbols - Complete Guide with Well-Known SymbolsJavaScript Throttle - Complete Guide with Timeline DiagramsJavaScript Comments Complete Guide – Single Line, Multi-line & JSDoc with ExamplesJavaScript Data Types Complete Guide – Primitives, Objects & typeof with ExamplesJavaScript Input and Output Complete Guide – console.log, prompt, alert & DOM with ExamplesJavaScript Keywords Complete Guide – Reserved Words List with Examples for BeginnersJavaScript null vs undefined – Complete Guide with Differences, Examples & Interview Q&AJavaScript Operators Complete Guide – Arithmetic, Comparison, Logical & More with ExamplesJavaScript Strict Mode Complete Guide – JavaScript Type Conversion Complete Guide – Explicit & Implicit Coercion with ExamplesJavaScript var vs let vs const – Complete Guide with Scope, Hoisting & Best PracticesJavaScript Variables Complete Guide – Declaration, Naming Rules & Memory Model for BeginnersDeque (Double-Ended Queue) in JavaScript — Complete GuideLinked List in JavaScript — Nodes, Pointers & Operations GuideJavaScript Map — Key-Value Data Structure Complete GuideJavaScript Numbers — IEEE 754, Precision, and Number Methods GuidePriority Queue in JavaScript — Min Heap Implementation GuideQueue Data Structure in JavaScript — FIFO, Enqueue & Dequeue ExplainedJavaScript Set — Unique Values Data Structure GuideSorting Algorithms in JavaScript — Bubble, Merge, Quick Sort GuideStack Data Structure in JavaScript — LIFO, Push, Pop ExplainedJavaScript Typed Arrays — ArrayBuffer, Int32Array, Float64Array GuideJavaScript WeakMap — Weak References, Memory Management GuideJavaScript WeakSet — Complete Guide with Examples 2026Applications of JavaScript — Where JS is Used in 2026 Complete GuideJavaScript Backend Frameworks — Node.js, Express, NestJS Complete Guide 2026JavaScript Frontend Libraries — React, Vue, Angular, Svelte Complete Overview 2026JavaScript Full-Stack Frameworks — Next.js, Remix, Astro Complete Guide 2026JavaScript Career Paths & Jobs — Salary, Roles & Roadmap 2026JavaScript Libraries vs Frameworks — Difference & Examples Complete Guide 2026JavaScript Custom Errors – Extend Error Class, Custom Error Types & instanceofJavaScript Debugging – console Methods, DevTools, Breakpoints & Error Stack TracesJavaScript throw Statement – Throw Errors, Custom Messages & Error TypesJavaScript Try Catch Finally – Error Handling Complete GuideTop 30 JavaScript Closure Interview Questions & Answers 2026Top 30 JavaScript Coding Interview Questions 2026 (With Solutions)Top 25 JavaScript Event Loop Interview Questions & Answers 2026Top 50 JavaScript Interview Questions & Answers 2026Top 30 JavaScript Promise Interview Questions & Answers 202650 Tricky JavaScript Output Questions 2026 (With Answers)Build a JavaScript Calculator - Step by Step Project TutorialBuild a JavaScript Image Carousel - Step by Step Project TutorialBuild a JavaScript Counter Application - Step by Step Project TutorialBuild a JavaScript Digital Clock - Step by Step Project TutorialBuild a Dynamic Resume Builder in JavaScript - Step by Step TutorialBuild a JavaScript Email Validator - Step by Step Project TutorialBuild a JavaScript Employee Database Management App - Step by Step TutorialBuild a JavaScript Expense Tracker - Step by Step Project TutorialBuild a GitHub Profile Search App in JavaScript - Step by Step TutorialBuild a JavaScript Image Slider - Step by Step Project TutorialBuild a JavaScript Multi-Step Progress Bar - Step by Step TutorialBuild JavaScript Nested Chat Comments - Step by Step Project TutorialBuild a JavaScript Notes App - Step by Step Project TutorialBuild a JavaScript OTP Input Field - Step by Step Project TutorialBuild a JavaScript Palindrome Checker - Step by Step Project TutorialBuild a JavaScript Price Range Slider - Step by Step Project TutorialBuild a JavaScript Prime Number Checker - Step by Step Project TutorialBuild a JavaScript QR Code Generator - Step by Step Project TutorialBuild a JavaScript QR Code Scanner - Step by Step Project TutorialBuild a JavaScript Quiz App - Step by Step Project TutorialBuild a JavaScript Random Number Generator - Step by Step TutorialBuild a JavaScript Random Password Generator - Step by Step TutorialJavaScript Image Resize & Compress — Canvas API Project 2026JavaScript Responsive Admin Dashboard — DOM & CSS Project 2026JavaScript Show/Hide Password Toggle — Beginner DOM Project 2026JavaScript Sortable Filterable Table — DOM & Array Methods Project 2026JavaScript Stopwatch Project — setInterval & DOM Tutorial 2026JavaScript Student Grade Calculator — Arrays & Logic Project 2026JavaScript Task Scheduler Project — CRUD & localStorage Tutorial 2026JavaScript Tic-Tac-Toe Game — DOM Manipulation Project Tutorial 2026JavaScript Toast Notification Project — Custom Alerts Tutorial 2026Build a Todo App in JavaScript - Step by Step Project TutorialJavaScript Unicode Character Value Finder — charCodeAt & fromCharCode Project 2026JavaScript Weather App Project — Fetch API & DOM Complete Tutorial 2026JavaScript Cheat Sheet 2026 — Complete Quick ReferenceImportant JavaScript Concepts Every Developer Must Know in 2026JavaScript One Shot Notes 2026 — Complete JS in One PageJavaScript Quick Revision Notes — Interview Prep in 30 Minutes 2026Abstraction in JavaScript OOP – Hide Complexity, Expose SimplicityJavaScript Classes Tutorial – ES6 Class Syntax, Inheritance & MoreJavaScript Constructor Functions – new Keyword, Prototype & OOP PatternsEncapsulation in JavaScript – Private Fields, Getters, Setters & Data ProtectionJavaScript Inheritance – extends, super, and Prototype-Based InheritanceObject-Oriented Programming in JavaScript – OOP Concepts Complete GuideJavaScript OOP Projects – Build Real-World Apps with Classes & OOPPolymorphism in JavaScript – Method Overriding, Duck Typing & Many FormsJavaScript Prototype Chain – How Property Lookup Works in JavaScriptJavaScript Prototypes – Prototype-Based Inheritance, Object.create & prototype PropertyJavaScript Advanced Practice Problems — 15+ Interview-Level Challenges 2026JavaScript Assignments — 10 Project-Based Learning Tasks 2026JavaScript Beginner Practice Problems — 20+ Coding Exercises 2026JavaScript Coding Challenges — 25 Interview-Style Problems 2026JavaScript Intermediate Practice Problems — 20+ Coding Challenges 2026JavaScript MCQs — 50 Multiple Choice Questions with Answers 2026JavaScript Regex Character Classes – [abc], [^abc], Ranges & ShortcutsJavaScript Regex Email Validation – Pattern, Edge Cases & Best PracticesJavaScript Regex Flags – g, i, m, s, u, y Flags Explained with ExamplesJavaScript Regex Groups – Capturing, Non-Capturing & Named GroupsJavaScript Number Validation with Regex — Complete Patterns & Examples 2026JavaScript Password Validation with Regex — Strength Checker & Patterns 2026JavaScript Regex Quantifiers – *, +, ?, {n,m}, Greedy vs Lazy MatchingJavaScript Regex Basics – Regular Expressions Tutorial for BeginnersJavaScript Regex Projects — 10 Practical Mini-Projects with Code 2026JavaScript URL Validation with Regex — Complete Patterns & Examples 2026JavaScript Username Validation with Regex — Patterns & Form Examples 2026JavaScript TutorialJavaScript Lazy Loading — Images, Modules & Components Complete Guide 2026JavaScript Performance Optimization — Speed Up Your Code Complete Guide 2026JavaScript Unit Testing with Jest — Complete Guide for Beginners 2026
A comprehensive JavaScript cheat sheet covering variables, data types, operators, strings, arrays, objects, functions, control flow, DOM, events, async programming, ES6+ features, error handling, and useful patterns. Perfect quick reference for beginners and experienced developers.
This is a comprehensive JavaScript quick-reference. Each section contains concise code snippets with their output — a perfect guide for revision and interviews.
2. Data Types
JavaScript has 8 data types — 7 primitives + 1 non-primitive:
js example
// Primitives
let str = "Hello"; // String
let num = 42; // Number
let big = 9007199254740993n; // BigInt
let bool = true; // Boolean
let undef = undefined; // Undefined
let nul = null; // Null
let sym = Symbol("id"); // Symbol
// Non-primitive
let obj = { key: "value" }; // Object (arrays, functions bhi objects hain)
// typeof operator
console.log(typeof str); // "string"
console.log(typeof num); // "number"
console.log(typeof bool); // "boolean"
console.log(typeof undef); // "undefined"
console.log(typeof nul); // "object" (JS bug — legacy reason)
console.log(typeof sym); // "symbol"
console.log(typeof obj); // "object"
console.log(typeof big); // "bigint"Output
string number boolean undefined object symbol object bigint
js example
// Type Conversion
console.log(Number("42")); // 42
console.log(String(123)); // "123"
console.log(Boolean(0)); // false
console.log(Boolean("hello")); // true
console.log(parseInt("3.14")); // 3
console.log(parseFloat("3.14")); // 3.14Output
42 123 false true 3 3.14
3. Operators
Arithmetic
js example
console.log(10 + 3); // 13
console.log(10 - 3); // 7
console.log(10 * 3); // 30
console.log(10 / 3); // 3.333...
console.log(10 % 3); // 1 (remainder)
console.log(2 ** 3); // 8 (exponent)Output
13 7 30 3.3333333333333335 1 8
Comparison
js example
console.log(5 == "5"); // true (loose — type coercion)
console.log(5 === "5"); // false (strict — no coercion)
console.log(5 != "5"); // false
console.log(5 !== "5"); // true
console.log(10 > 5); // true
console.log(10 <= 10); // trueOutput
true false false true true true
Logical
Example
console.log(true && false); // false
console.log(true || false); // true
console.log(!true); // false
// Short-circuit evaluation
let user = null;
console.log(user && user.name); // null (stops at falsy)
console.log(user || "Guest"); // "Guest" (returns first truthy)
Output
false true false null Guest
Ternary & Assignment
js example
let score = 85;
let grade = score >= 90 ? "A" : score >= 80 ? "B" : "C";
console.log(grade);
// Assignment operators
let x = 10;
x += 5; // x = 15
x -= 3; // x = 12
x *= 2; // x = 24
x /= 4; // x = 6
x **= 2; // x = 36
console.log(x);Output
B 36
4. Strings — Key Methods
Example
let str = "Hello, JavaScript!";
console.log(str.length); // 18
console.log(str.toUpperCase()); // "HELLO, JAVASCRIPT!"
console.log(str.toLowerCase()); // "hello, javascript!"
console.log(str.indexOf("Java")); // 7
console.log(str.includes("Script")); // true
console.log(str.slice(7, 17)); // "JavaScript"
console.log(str.replace("Hello", "Hi")); // "Hi, JavaScript!"
console.log(str.split(", ")); // ["Hello", "JavaScript!"]
console.log(str.trim()); // "Hello, JavaScript!" (removes whitespace)
console.log(str.startsWith("Hello")); // true
console.log(str.endsWith("!")); // true
console.log(str.repeat(2)); // "Hello, JavaScript!Hello, JavaScript!"
console.log(str.at(-1)); // "!"
Output
18 HELLO, JAVASCRIPT! hello, javascript! 7 true JavaScript Hi, JavaScript! ["Hello", "JavaScript!"] Hello, JavaScript! true true Hello, JavaScript!Hello, JavaScript! !
Template Literals
js example
let name = "Rahul";
let age = 22;
let msg = `My name is ${name} and I am ${age} years old.`;
console.log(msg);
// Multi-line
let html = `
<div>
<h1>${name}</h1>
</div>`;
console.log(html.trim());Output
My name is Rahul and I am 22 years old. <div> <h1>Rahul</h1> </div>
5. Arrays — Key Methods
Example
let arr = [1, 2, 3, 4, 5];
// Add / Remove
arr.push(6); // end mein add → [1,2,3,4,5,6]
arr.pop(); // end se remove → [1,2,3,4,5]
arr.unshift(0); // start mein add → [0,1,2,3,4,5]
arr.shift(); // start se remove → [1,2,3,4,5]
arr.splice(2, 1, 99); // index 2 pe 1 remove, 99 add → [1,2,99,4,5]
console.log(arr);
Output
[1, 2, 99, 4, 5]
Iteration Methods
Example
let nums = [1, 2, 3, 4, 5];
// map — transform each element
let doubled = nums.map(n => n * 2);
console.log(doubled);
// filter — keep elements matching condition
let evens = nums.filter(n => n % 2 === 0);
console.log(evens);
// reduce — accumulate to single value
let sum = nums.reduce((acc, n) => acc + n, 0);
console.log(sum);
// find — first match
let found = nums.find(n => n > 3);
console.log(found);
// findIndex
console.log(nums.findIndex(n => n > 3));
// some / every
console.log(nums.some(n => n > 4)); // true (at least one)
console.log(nums.every(n => n > 0)); // true (all)
// forEach
nums.forEach(n => process.stdout.write(n + " "));
Output
[2, 4, 6, 8, 10] [2, 4] 15 4 3 true true 1 2 3 4 5
More Array Methods
Example
let arr = [3, 1, 4, 1, 5, 9];
console.log(arr.sort((a, b) => a - b)); // [1, 1, 3, 4, 5, 9]
console.log(arr.reverse()); // [9, 5, 4, 3, 1, 1]
console.log(arr.includes(5)); // true
console.log(arr.flat()); // flattens nested arrays
console.log([1, [2, [3]]].flat(Infinity)); // [1, 2, 3]
console.log(Array.from("hello")); // ['h','e','l','l','o']
console.log([...new Set([1,1,2,3,3])]); // [1, 2, 3] — remove duplicates
Output
[1, 1, 3, 4, 5, 9] [9, 5, 4, 3, 1, 1] true [9, 5, 4, 3, 1, 1] [1, 2, 3] ['h', 'e', 'l', 'l', 'o'] [1, 2, 3]
6. Objects
Example
// Object creation
let person = {
name: "Amit",
age: 28,
greet() {
return `Hi, I'm ${this.name}`;
}
};
console.log(person.name); // "Amit"
console.log(person["age"]); // 28
console.log(person.greet()); // "Hi, I'm Amit"
// Add / Modify / Delete
person.city = "Delhi";
person.age = 29;
delete person.city;
console.log(Object.keys(person)); // ["name", "age", "greet"]
console.log(Object.values(person)); // ["Amit", 29, ƒ]
console.log(Object.entries(person)); // [["name","Amit"],["age",29],["greet",ƒ]]
Output
Amit 28 Hi, I'm Amit ["name", "age", "greet"] ["Amit", 29, ƒ] [["name", "Amit"], ["age", 29], ["greet", ƒ]]
Object Methods
js example
// Object.assign — shallow copy / merge
let a = { x: 1 };
let b = { y: 2 };
let merged = Object.assign({}, a, b);
console.log(merged); // { x: 1, y: 2 }
// Spread merge (preferred)
let merged2 = { ...a, ...b, z: 3 };
console.log(merged2); // { x: 1, y: 2, z: 3 }
// Object.freeze — immutable
let config = Object.freeze({ api: "https://api.example.com" });
config.api = "changed"; // silently fails
console.log(config.api);
// Check property
console.log("x" in a); // true
console.log(a.hasOwnProperty("x")); // trueOutput
{ x: 1, y: 2 }
{ x: 1, y: 2, z: 3 }
https://api.example.com
true
true7. Functions
Function Declaration & Expression
js example
// Declaration (hoisted)
function add(a, b) {
return a + b;
}
console.log(add(3, 4)); // 7
// Expression (NOT hoisted)
const multiply = function(a, b) {
return a * b;
};
console.log(multiply(3, 4)); // 12
// Default parameters
function greet(name = "Guest") {
return `Hello, ${name}!`;
}
console.log(greet()); // "Hello, Guest!"
console.log(greet("Priya")); // "Hello, Priya!"Output
7 12 Hello, Guest! Hello, Priya!
Arrow Functions
Example
// Basic arrow function
const square = (x) => x * x;
console.log(square(5)); // 25
// Multiple params
const sum = (a, b) => a + b;
console.log(sum(10, 20)); // 30
// Multi-line body (need explicit return)
const factorial = (n) => {
if (n <= 1) return 1;
return n * factorial(n - 1);
};
console.log(factorial(5)); // 120
// Arrow vs regular — `this` context
const obj = {
name: "JS",
regular: function() { return this.name; },
arrow: () => this.name // `this` refers to outer scope, NOT obj
};
console.log(obj.regular()); // "JS"
console.log(obj.arrow()); // undefined
Output
25 30 120 JS undefined
IIFE (Immediately Invoked Function Expression)
Example
// Classic IIFE — runs immediately, creates private scope
(function() {
let secret = "hidden";
console.log("IIFE executed:", secret);
})();
// Arrow IIFE
(() => {
console.log("Arrow IIFE");
})();
// IIFE with return value
const result = (() => {
return 42;
})();
console.log(result);
Output
IIFE executed: hidden Arrow IIFE 42
8. Control Flow
if / else if / else
js example
let temp = 35;
if (temp > 40) {
console.log("It is very hot! 🥵");
} else if (temp > 30) {
console.log("Garmi hai ☀️");
} else if (temp > 20) {
console.log("Suhana mausam 🌤️");
} else {
console.log("Thanda hai ❄️");
}Output
Garmi hai ☀️
for Loops
Example
// Classic for
for (let i = 0; i < 3; i++) {
process.stdout.write(i + " ");
}
console.log();
// for...of (arrays, strings — iterable values)
for (let char of "Hi") {
process.stdout.write(char + " ");
}
console.log();
// for...in (object keys)
let car = { brand: "Tesla", year: 2026 };
for (let key in car) {
console.log(`${key}: ${car[key]}`);
}
Output
0 1 2 H i brand: Tesla year: 2026
while & do...while
Example
// while
let i = 0;
while (i < 3) {
process.stdout.write(i + " ");
i++;
}
console.log();
// do...while — executes at least once
let j = 10;
do {
console.log("j =", j);
j++;
} while (j < 10);
Output
0 1 2 j = 10
switch
Example
let day = "Monday";
switch (day) {
case "Monday":
case "Tuesday":
case "Wednesday":
case "Thursday":
case "Friday":
console.log("Working day 💼");
break;
case "Saturday":
case "Sunday":
console.log("Weekend 🎉");
break;
default:
console.log("Invalid day");
}
Output
Working day 💼
9. DOM Manipulation
Selectors
Example
// Select elements
const el1 = document.getElementById("app");
const el2 = document.querySelector(".card"); // first match
const el3 = document.querySelectorAll(".item"); // all matches (NodeList)
const el4 = document.getElementsByClassName("btn"); // HTMLCollection
const el5 = document.getElementsByTagName("p");
// querySelectorAll returns NodeList — iterate with forEach
document.querySelectorAll("li").forEach(li => {
console.log(li.textContent);
});
Create, Modify & Remove
js example
// Create element
const div = document.createElement("div");
div.textContent = "Hello World";
div.className = "card";
div.id = "myCard";
div.setAttribute("data-id", "123");
div.style.color = "blue";
div.style.padding = "1rem";
// Append to DOM
document.body.appendChild(div);
// Insert before
const parent = document.getElementById("list");
const newItem = document.createElement("li");
newItem.textContent = "New Item";
parent.insertBefore(newItem, parent.firstChild);
// Remove
const old = document.getElementById("old");
old.remove(); // modern
// old.parentNode.removeChild(old); // legacy
// innerHTML vs textContent
el.innerHTML = "<strong>Bold</strong>"; // parses HTML
el.textContent = "<strong>Bold</strong>"; // plain text (safer)Class & Attribute Manipulation
js example
const box = document.querySelector(".box");
// Classes
box.classList.add("active", "visible");
box.classList.remove("hidden");
box.classList.toggle("dark-mode");
console.log(box.classList.contains("active")); // true
// Attributes
box.setAttribute("role", "button");
console.log(box.getAttribute("role")); // "button"
box.removeAttribute("role");
console.log(box.dataset.userId); // reads data-user-id attributeOutput
true button
10. Events
Example
// addEventListener (recommended)
const btn = document.querySelector("#btn");
btn.addEventListener("click", (e) => {
console.log("Clicked!", e.target.tagName);
});
// Event with options
btn.addEventListener("click", handler, { once: true }); // fires only once
// Remove event
function handler(e) { console.log("Handled"); }
btn.addEventListener("click", handler);
btn.removeEventListener("click", handler);
// Event Delegation — handle child events on parent
document.getElementById("list").addEventListener("click", (e) => {
if (e.target.tagName === "LI") {
console.log("Clicked item:", e.target.textContent);
}
});
// Prevent default & stop propagation
const link = document.querySelector("a");
link.addEventListener("click", (e) => {
e.preventDefault(); // link will not navigate
e.stopPropagation(); // event won't reach the parent
});
Common Events
Example
// Keyboard
document.addEventListener("keydown", (e) => {
console.log(`Key: ${e.key}, Code: ${e.code}`);
});
// Form
const form = document.querySelector("form");
form.addEventListener("submit", (e) => {
e.preventDefault();
const data = new FormData(form);
console.log(data.get("email"));
});
// Input (real-time)
const input = document.querySelector("input");
input.addEventListener("input", (e) => {
console.log(e.target.value);
});
// Load & DOMContentLoaded
document.addEventListener("DOMContentLoaded", () => {
console.log("DOM ready!");
});
window.addEventListener("load", () => {
console.log("All resources loaded!");
});
11. Async JavaScript
Callbacks
Example
function fetchData(callback) {
setTimeout(() => {
callback("Data received!");
}, 1000);
}
Continue the lesson path
Study next in this module
01NotesImportant JavaScript Concepts Every Developer Must Know in 2026Master the most important JavaScript concepts: closures, hoisting, prototype, event loop, scope, async/await, coercion, and ES6+. Deeply explained with examples and output.02NotesJavaScript One Shot Notes 2026 — Complete JS in One PageComplete JavaScript in one page. One-shot notes covering every JavaScript topic from basics to advanced — variables, functions, OOP, async, DOM, ES6+ for 2026 interviews.03NotesJavaScript Quick Revision Notes — Interview Prep in 30 Minutes 2026Complete JavaScript quick revision notes covering all important concepts for interviews and exams. Rapid-fire key concepts with code examples and outputs for last-minute preparation.04Mini ProjectsBuild a JavaScript Notes App - Step by Step Project TutorialLearn to build a notes app in JavaScript with create, edit, delete, search, pin, and localStorage persistence. Covers markdown preview and color coding.