Numbers
Basic operations
Math object ([Link](), [Link](), [Link](), [Link]())
Strings
String creation (single, double, backticks)
String methods (length, toUpperCase(), toLowerCase(), trim(), slice(), substring(),
replace(), includes())
Template literals (`Hello ${name}`)
Arrays
Creating arrays
Accessing elements
Array methods:
Basic: push(), pop(), shift(), unshift()
Useful: indexOf(), includes(), join(), concat()
Iteration: forEach(), map(), filter(), reduce()
Functions
Function declaration
Function expression
Arrow functions
Parameters & return values
Default parameters
Objects
Object creation ({ key: value })
Accessing properties (dot and bracket notation)
Adding & deleting properties
this keyword
DOM Manipulation
[Link](), getElementsByClassName(), querySelector()
Changing text & HTML (innerText, innerHTML)
Changing styles ([Link], [Link])
Creating & removing elements (createElement, appendChild, removeChild)
Events
Event handling (onclick, onchange, onmouseover, etc.)
addEventListener()
Event object ([Link], [Link]())
Local Storage & Session Storage
JSON ([Link](), [Link]())
Functions (Deeper Concepts)
Function scope vs block scope
Hoisting in functions & variables
Callback functions
Higher-order functions (functions as arguments/return values)
Immediately Invoked Function Expressions (IIFE)
Objects (Deeper Concepts)
Nested objects
Iterating objects (for...in, [Link](), [Link](), [Link]())
Object destructuring
Spread operator in objects
Copying vs referencing objects (shallow copy vs deep copy)
Arrays (More Useful Methods)
find(), findIndex()
some() and every()
sort()
slice() and splice()
Array destructuring
Spread operator in arrays
ES6+ Features
let vs const vs var (differences in detail)
Default parameters
Template literals (with expressions & multiline strings)
Arrow functions (this binding differences)
Destructuring (array & object)
Spread/rest operators (...)
Error Handling
try...catch
finally block
throw keyword
Common runtime errors in JS
Timing Functions
setTimeout()
setInterval()
Clearing timers (clearTimeout, clearInterval)
Document Object Model (DOM) – Advanced
Navigating the DOM (parentNode, children, nextElementSibling, etc.)
Changing attributes (setAttribute, getAttribute, removeAttribute)
Class manipulation ([Link](), remove(), toggle())
1) Event Delegation
2) Closure
3) Call, Apply, Bind
4) Map Object
5) Sets
6) Debugger
7) Strict Mode
8) Cookies in JavaScript
9) Deep copy and Shallow copy.
10) JS memorization