Welcome to my JavaScript & MERN Journey! ππ» Notes
Here I document my daily progress as I explore JavaScript (π¨) and gradually move toward building full-stack apps with the MERN stack (π). This serves as: π My personal notes & revision π οΈ A helpful guide for beginners π₯ A way to stay consistent and creative!
Itβs easy to forget concepts without practice. This repo helps me learn, revisit, and share tips with fellow developers. π±
β Learn a concept each day β Write notes & examples β Commit under a clean structure β Watch knowledge grow day by day π
π js-mern-learning/
βββ Day 01 - Variables & Data Types π/
β βββ README.md
βββ Day 02 - Functions π§/
β βββ README.md
βββ Day 03 - Arrays & Objects π¦/
β βββ README.md
βββ β¦
βββ README.md β You are here
Each folder includes: π‘ What I learned π¨βπ» Code examples π Key points π Challenges & solutions
π Master JavaScript fundamentals (π¨) π Explore MERN (MongoDB π, Express π, React βοΈ, Node π©) π Build cool projects as I progress
π· Variables, Data Types, Operators π· Functions, Scope, Hoisting π· DOM, Events, ES6+ Features π· Async JS: Promises & Fetch API π· MERN stack basics & beyond
Feel free to fork this repo, add your notes, or suggest improvements! Letβs grow & code together. πβ¨
π¨βπ Hi! Iβm Kush Kumar β a B.Voc Software Development student at Ramanujan College, University of Delhi (DU), currently in my second year. ππ π» Passionate about web development, learning JavaScript & MERN stack step-by-step. π My GitHub: kushkumarkashyap7280
If you want to connect, collaborate, or just say hi β feel free to reach out!
π Happy Coding & Learning! π
Day 1 β Variables, Data Types, and Basics β
Quick Access: Day 1 Topics & Code
- JavaScript Variables: Declaration, Assignment, and Scope (Variables.js)
- JavaScript Data Types: Primitive and Non-Primitive (Datatypes.js)
- JavaScript Type Casting (Type Conversion) (Typecasting.js)
- JavaScript Operators (Operators.js)
- Stack vs Heap Memory in JavaScript (Stack_and_Heap.js)
- JavaScript Strings (Strings.js)
Focus:
- Understanding variables and their scope
- Exploring primitive and non-primitive data types
- Type casting and conversion
- Using operators
- Memory concepts: stack vs heap
- String basics and manipulation
Day 2 β Arrays, Objects, Functions, Numbers, Dates & Math β
Quick Access: Day 2 Topics & Code
- JavaScript Arrays: Creation, Methods, and Static Methods (Arrays.js)
- JavaScript Objects: Types, Methods, and Confusing Points (Objects.js)
- JavaScript Functions: Types, Patterns, and Features (Functions.js)
- JavaScript Numbers & Math: Number Object, Math Methods, Random (Numbers.js)
- JavaScript Dates: Date Object, Methods, Formatting (Dates.js)
Focus:
- Working with arrays and their methods
- Understanding objects and their properties
- Function types, patterns, and features
- Number and Math object usage
- Date object and formatting
Day 3 β Scope, Hoisting, Control Flow, Loops, Maps, and Array Methods β
Quick Access: Day 3 Topics & Code
- Scope & Hoisting: Concepts and Examples (Scope.js)
- Arrow Functions & 'this': Concepts and Examples (Arrow_function.js)
- Call Stack & Control Flow (Control_flow.js)
- Loops: for, while, do...while, forEach, break, continue (Loops.js)
- Map Class: Usage, Methods, Confusions (Maps.js)
- Object-Specific Loops: forEach, for...of, for...in (Object_specific_loops.js)
- High Order Array Functions: forEach, map, filter, reduce, chaining (Arrays_specific_loops.js)
Focus:
- Scope and hoisting in JavaScript
- Arrow functions and the 'this' keyword
- Call stack and control flow
- Looping constructs and patterns
- Map class and its methods
- Object-specific and high-order array functions
Day 4 β JavaScript DOM Basics & Selection Methods β
Quick Access: Day 4 Topics & Code
Focus:
- DOM structure and manipulation
- Selecting elements by ID, class, and CSS selectors
- Navigating parent/child relationships
- Creating, editing, and removing elements dynamically
- Understanding text/HTML properties and best practices
Day 5 β JavaScript Mini Projects β
Quick Access: Day 5 Projects
Focus:
- Hands-on JavaScript mini projects
- DOM manipulation, user input, and interactivity
- Real-world practice: color changer, BMI calculator, live clock, and more
Day 6 β Async JavaScript, Events, and Mini Projects β
Quick Access: Day 6 Topics & Projects
Focus:
- Deep dive into async JavaScript: event loop, microtasks, macrotasks
- Practice with event listeners and DOM events
- Mini projects: timer/alert demo, random background color changer
Day 7 β Promises, fetch, and API Practice β
Quick Access: Day 7 Topics & Projects
Focus:
- Understanding the fetch API and its microtask priority
- Deep dive into Promises and async workflows
- Practicing API requests and DOM updates
Day 8 β OOP, Prototypes, this, Property Descriptors, Getters/Setters, Closures β
Quick Access: Day 8 Topics & Projects
- OOPs.js: Manual objects, function constructors, ES6 classes, OOP pillars
- Prototye_in_js.js: Prototypes, prototype chain, method sharing, inheritance
- Class_and_objects.js: Four OOP pillars, static methods, access modifiers
- call_and_this.js: The
call()method, controllingthis, method borrowing - bind.htm: The
bind()method, event handler context, browser example - Maths_pi.js: Property descriptors, immutability,
Object.defineProperty - getter_setter.js: Getters and setters in objects and classes, validation
- closures.htm: Lexical scoping, closures, data privacy, common pitfalls
Focus:
- Object-Oriented Programming (OOP) in JavaScript
- Prototypes and prototype chain
- The
thiskeyword,call()andbind() - Property descriptors and immutability
- Getters and setters for encapsulation and validation
- Lexical scoping and closures for data privacy and advanced patterns
π On to the next phase: React, Node.js, and Full-Stack Development!
After a dedicated journey through all the fundamentals and advanced concepts of JavaScript, Iβve completed the core JavaScript section of my learning path. This includes:
- Variables, data types, operators, and memory concepts
- Functions, scope, hoisting, and closures
- Arrays, objects, maps, and high-order functions
- DOM manipulation and events
- Asynchronous JavaScript: callbacks, promises, fetch, and the event loop
- Object-Oriented Programming (OOP), prototypes,
this, property descriptors - Getters/setters, lexical scoping, and closures
Whatβs Next?
Now that I have a strong foundation in JavaScript, the next steps are:
- BUILD PROJECTS
- Build beautiful, responsive web pages
- Learn modern CSS (Flexbox, Grid, animations)
- Deepen JavaScript with ES6+ and browser APIs
- Explore modules, async/await, and advanced patterns
- Move to Frontend Frameworks
- Start with React (βοΈ) for building dynamic UIs
- Learn Backend Development
- Node.js and Express for server-side logic
- MongoDB for databases
- Full MERN Stack Projects
- Combine everything to build real-world, full-stack applications
This repo will continue to grow as I document my progress through HTML, CSS, React, Node, and beyond!
