- Introduction to JavaScript
- Features of JavaScript
- JavaScript versions
- strict mode in JavaScript
- Data types in JavaScript
- Hoisting in JavaScript
- Immediately-invoked Function Expressions (IIFE) In JavaScript
- var in JavaScript
- let in JavaScript
- const in JavaScript
- Destructuring assignment in JavaScript
- undefined in JavaScript
- null in JavaScript
- Nullish coalescing operator ‘??’
- Inheritance and the prototype chain in JavaScript
- JavaScript call() method
- JavaScript apply() method
- JavaScript Function.prototype.bind() method
- Arrow function expressions in JavaScript
- typeof operator in JavaScript
- JavaScript Optional Chaining Operator (?.)
- Introduction to JavaScript Promise
- Object.freeze() in JavaScript
- getter in JavaScript
- generator and generator function in JavaScript
- Falsy in JavaScript
- Double not (!!) in JavaScript
- Lexical scope in JavaScript
- Map in JavaScript
- Set in JavaScript
- Closure in JavaScript
- static in JavaScript
- void operator in JavaScript
- WeakSet in JavaScript
- Web document origin
- Execution Context in JavaScript
- Scope in JavaScript
- ‘this’ keyword in JavaScript
- Array.prototype.slice() method
- Array.prototype.splice() method
- Currying in JavaScript
- Pure Function in JavaScript
- Data storage and eviction in browsers
- delete operator in JavaScript
- Managing Browser History with JavaScript
- Event flow in JavaScript
- Web Storage API in JavaScript
- What Is a Service Worker?
- JavaScript stopPropagation()
- Understanding stopImmediatePropagation() in JavaScript
- Understanding preventDefault() in JavaScript
- Shadow DOM in JavaScript
- JavaScript Event Loop
Asynchronous JavaScript
- Understanding Synchronous and Asynchronous Programming in JavaScript
- How Asynchronous JavaScript Code Is Executed Behind the Scenes
- Understanding Callbacks in JavaScript
- Handling Errors in Asynchronous Code
- Understanding Promises in JavaScript
- Using Promises in JavaScript with .then()
- Chaining Promises Using .then()
- Handling Promise Rejections Using .then() and .catch()
- Converting Values to Promises in JavaScript
- Executing Multiple Promises in Parallel Using Promise.all()
- Understanding Promise.allSettled() in JavaScript
- Understanding Promise.race() in JavaScript
- Promise.any()
- async in JavaScript
- Asynchronous task priorities and task queue
- Handling Long-Running Tasks in the Browser Without Freezing the Page
- Understanding the Microtask Queue and Why It Can Still Freeze the Browser
