Welcome to my 21 Days of Code challenge! This repository documents my journey of learning and practicing JavaScript, starting from its history and foundational concepts to advanced features. Follow along as I dive into the world of JavaScript and share my progress.
- To strengthen my JavaScript fundamentals.
- To explore its evolution and execution process.
- To practice coding daily and build consistency.
- To showcase my learning journey and contribute to open-source.
| Day | Topic | Summary | Link |
|---|---|---|---|
| 01 | JavaScript History & Execution | Learned about the history of JavaScript and how the code execution works. | Day 1 Insights |
| 02 | Execution Context in JavaScript | Explored the environment where JavaScript code runs, including global and function execution contexts, the call stack, and JIT compilation. | Day 2 Insights |
| 03 | JavaScript Data Types & Loops | Explored JavaScript data types, loops, and objects, and revised key topics. | Day 3 Insights |
| 04 | Arrays, Array Methods & Iteration | Learned about arrays, array methods, and how to iterate through array elements effectively. | Day 4 Insights |
| 05 | Iterating Objects & Arrays | Explored for...in for iterating through objects, for...of and .forEach() for arrays, and arrow functions. Solved various problems involving object and array looping. |
Day 5 Insights |
| 06 | Lexical Scoping, Closures & Array Methods | Delved into lexical scoping and closures, explored higher-order functions like .forEach(), and worked with filter(), Set, flat(), and reverse() methods with examples and problems. |
Day 6 Insights |
| 07 | Hoisting, Scopes & Advanced Array Methods | Learned about hoisting of variables and functions, differences between var and let scopes, and practiced array methods like map(), reduce(), and filter(). Solved related problems. |
Day 7 Insights |
| 08 | Prototype Chain & Objects | Explored JavaScript's prototype chain, how objects inherit properties and methods, and why it's often said that "everything in JavaScript is an object." | Day 8 Insights |
| 09 | OOP in JavaScript | Explored Object-Oriented Programming in JavaScript, focusing on inheritance, constructor functions, prototypes, and ES6 classes. Practiced creating objects and using class inheritance. | Day 9 Insights |
| 10 | Encapsulation, Abstraction, Polymorphism & Static Methods | Learned about encapsulation, abstraction, and polymorphism in OOP. Practiced with examples of private variables, method overriding, and static methods in JavaScript. | Day 10 Insights |
| 11 | Getters, Setters & OOP Examples | Practiced Object-Oriented Programming concepts like getters and setters, class inheritance, encapsulation, and polymorphism through small coding exercises. | Day 11 Insights |
| 12 | DOM Manipulation | Solved practical DOM manipulation problems, including accessing and traversing elements, adding/removing elements, CSS class toggling etc. | Day 12 Insights |
| 13 | Asynchronous Behavior in JavaScript | Learned how JavaScript handles asynchronous operations, including concepts like callbacks, the callback queue, the event loop. Explored examples of synchronous and asynchronous behavior. | Day 12 Insights |
| 14 | Promises & Function Methods | Explored promises to handle asynchronous operations, including then, catch, and chaining. Learned about call, apply, and bind methods for context manipulation. |
Day 14 Insights |
| 15 | Async and Await in JavaScript | Overview of how async and await work together to handle promises in JavaScript. |
Day 15 Insights |
| 16 | Revision | Revised the learning | Day 16 Insights |
| 17 | Local Storage | Started building a simple to-do app and explored local storage | Day 17 Insights |
| 18 | Simple To-Do App | Implemented features such as adding, marking as completed, and deleting items. Future plans include integrating authentication and authorization. | Day 18 Insights |
| 19 | Redo To-Do App and API Fetch | Not much progress , rebuilt the to-do app for practice and started learning about fetching APIs while working on a weather app. | Day 19 Insights |
| 20 | Building Weather App | Worked on fetching real-time weather data using APIs and dynamically updating the UI for a sleek user experience. | Day 20 Insights |
| 21 | Reflecting on the Challenge | Wrapped up the 21-day journey, reflecting on consistency, learning JavaScript basics, and connecting with an inspiring coding community. | Day 21 Insights |
The table will no longer be updated as this concludes the 21-day challenge.
- w3schools
- JavaScript.info
- YouTube
- Udemy
- ChatGPT & more
- Twitter: @ITx_prash for daily updates.
- GitHub: Bookmark this repository for all updates.
This project is licensed under the MIT License.
Feel free to explore, fork, and contribute!