This repository documents my journey of mastering JavaScript from fundamentals to advanced concepts, including JavaScript internals, asynchronous programming, DOM manipulation, and modern ES6 features.
The goal of this repository is to build a strong foundation in JavaScript and understand how JavaScript works internally inside the browser and runtime environment.
- JavaScript (ES6+)
- HTML5
- DOM APIs
- Browser Events
- VS Code
- Chrome DevTools
- Git
- GitHub
This repository focuses on understanding how JavaScript works internally, including:
- Execution Context
- Call Stack
- Event Loop
- Promises & Async Programming
- DOM Manipulation
- JavaScript Runtime Environment
- Introduction to JavaScript
- How JavaScript Works
- Variables
- Data Types
- Type Conversion & Coercion
- Operators
- Memory Management
- Numbers & Math
- Date APIs
- Conditional Statements
- Switch Case
- Ternary Operator
- Truthy & Falsy Values
- For Loop
- While Loop
- Do While Loop
- Break & Continue
- Advanced Loops (for...of, for...in)
-
Strings
-
Arrays
-
Array Methods
- forEach
- map
- filter
- reduce
- find
-
Objects
-
Object Destructuring
-
Optional Chaining
- Function Declaration
- Function Scope
- Hoisting
- Arrow Functions
- IIFE
- Higher Order Functions
- Call Stack
- Functions in Arrays
- Block Scope
- Functional Scope
- Lexical Scope
- JavaScript Execution Context
- Map
- WeakMap
- Set
- WeakSet
- try
- catch
- finally
- throw
- Rest Operator
- Spread Operator
- Destructuring
- Selecting Elements
- Updating Elements
- Adding Elements
- Removing Elements
- CSS Manipulation
- Event Listeners
- Event Object
- Event Target
- Event Phases
- Default Actions
- Event Delegation
- Writing Efficient Code
- Optimizing DOM Operations
- JavaScript Runtime Environment
- V8 Engine Architecture
- Browser Execution Model
- Synchronous vs Asynchronous Code
- Event Loop
- setTimeout
- setInterval
- Callback Functions
- Callback Hell
- Pyramid of Doom
- Promise Creation
- Promise Chaining
- Error Handling
- AJAX Basics
- Working with JSON
- XMLHttpRequest
- readyState
- responseType
- API Requests
- Async Functions
- Await Keyword
- Async Execution Flow
- Error Handling
- Fetch Requests
- Handling API Responses
- Prototype
- Prototype Chain
- new Keyword
- Constructor Functions
- ES6 Classes
- Object Creation
- call()
- bind()
- apply()
- Object Patterns
- Deep Manipulation
- Lexical Scope
- Closures
- Practical Use Cases
- Import
- Export
- Default Exports
- Multiple Exports
Features:
- Real-time clock
- Dynamic DOM updates
- setInterval usage
Features:
- Event listeners
- DOM manipulation
- CSS toggling
Features:
- Toggle sidebar
- Event-driven UI
Features:
- Form validation
- Event handling
- DOM updates
_03_JS
│
├── 01_Introduction
├── 02_Working
├── 03_Variables
├── 04_DataTypes
├── 05_TypeConversion_&_Coercion
├── 06_Operators
├── 07_Memory
├── 08_Number_&_Maths
├── 09_Date
│
├── 10_Conditional(control flow)
├── 11_Loops
├── 12_String
├── 13_Arrays
├── 14_Objects
├── 15_Functions
├── 16_Scope
├── 17_JS_Execution_Context
│
├── 18_Map_And_WeakMap
├── 19_Set_And_WeakSet
├── 20_Advance_Loops
├── 21_Error_Handling
│
├── 22_Rest_&_Spread_Operator
│
├── 23_DOM
├── 24_Events
│
├── 25_Performance_of_Code
├── 26_JS_RunTime_Envt_V8_Architecture
│
├── 27_Synchronous_vs_Asynchronous
├── 28_EventLoop
├── 29_Callback_hell_or_pyramid_of_doom
├── 30_Promise
├── 31_Ajax
├── 32_API-XHR
│
├── 33_Execution_of_Synchronous_setTimeout_and_Promise_code
├── 34_async_await
├── 35_FetchAPI
│
├── 36_Prototypal_and_new_Keyword
├── 37_Class_and_Object
├── 38_Call_Bind_Apply
├── 39_Advance_Objects
├── 40_LexicalScope_&_Closure
│
├── 41_Import_Export
└── 42_Projects
- VS Code
- Chrome DevTools
- Git
- GitHub
To master core JavaScript concepts, understand JavaScript internals, and build a strong foundation for modern frontend and full-stack development.
If you found this repository helpful, consider giving it a ⭐ on GitHub.