Skip to content

HappyKittenMittens/Learning-2026-JS-Fundamentals

Repository files navigation

6-Week JavaScript Fundamentals Learning Plan for React Preparation

This structured 6-week plan will take you through essential JavaScript concepts needed to effectively learn and work with React. Each week focuses on specific topics with hands-on practice in the corresponding project folders.

Weekly Overview

Week 1: Variables, Data Types, and Basic Operations

Focus: Understanding JavaScript's building blocks Project Folder: 01 Variables/

Topics to Cover:

  • Variable declarations (var, let, const)
  • Primitive data types (string, number, boolean, null, undefined, symbol, bigint)
  • Type coercion and conversion
  • Basic operators (arithmetic, comparison, logical)
  • String and number methods

Goals:

  • Understand variable scoping basics
  • Practice type checking and conversion
  • Build simple calculators or data processors

Daily Breakdown:

  • Day 1-2: Variables and declarations
  • Day 3-4: Data types and type conversion
  • Day 5-6: Operators and basic methods
  • Day 7: Review and mini-project

Week 2: Control Flow and Loops

Focus: Making decisions and iterating in JavaScript Project Folder: 02 Loops/

Topics to Cover:

  • Conditional statements (if/else, switch)
  • Loops (for, while, do-while, for-in, for-of)
  • Break and continue statements
  • Ternary operator
  • Logical operators in control flow

Goals:

  • Create decision-based programs
  • Process arrays and collections
  • Build simple games or data filters

Daily Breakdown:

  • Day 1-2: Conditional statements
  • Day 3-4: For loops and iteration
  • Day 5-6: While loops and advanced control flow
  • Day 7: Review and mini-project

Week 3: Functions and Code Organization

Focus: Writing reusable and modular code Project Folder: 03 Functions/

Topics to Cover:

  • Function declarations and expressions
  • Parameters and arguments
  • Return values
  • Arrow functions
  • Function scope and closures
  • Higher-order functions
  • Callbacks

Goals:

  • Create reusable utility functions
  • Understand function composition
  • Build modular code structures

Daily Breakdown:

  • Day 1-2: Basic function syntax
  • Day 3-4: Parameters, arguments, and return values
  • Day 5-6: Arrow functions and advanced concepts
  • Day 7: Review and mini-project

Week 4: Data Structures and Manipulation

Focus: Working with complex data in JavaScript Project Folder: 04 Data/

Topics to Cover:

  • Arrays: creation, methods (push, pop, shift, unshift, splice, slice)
  • Objects: creation, properties, methods
  • Array iteration methods (map, filter, reduce, forEach)
  • Object manipulation (Object.keys, Object.values, spread operator)
  • JSON basics

Goals:

  • Manipulate and transform data collections
  • Build data processing utilities
  • Understand reference vs value types

Daily Breakdown:

  • Day 1-2: Arrays and basic methods
  • Day 3-4: Objects and properties
  • Day 5-6: Advanced array methods and iteration
  • Day 7: Review and mini-project

Week 5: Modern JavaScript (ES6+) and Scope

Focus: Advanced JavaScript features and execution context Project Folder: 05 Scopes + ES6/

Topics to Cover:

  • Block scope vs function scope
  • Lexical scope and closures
  • Template literals
  • Destructuring (arrays and objects)
  • Spread and rest operators
  • Default parameters
  • Modules (import/export)
  • let/const vs var

Goals:

  • Write modern, clean JavaScript code
  • Understand scope chains and closures
  • Use ES6+ features effectively

Daily Breakdown:

  • Day 1-2: Scope and closures
  • Day 3-4: Template literals and destructuring
  • Day 5-6: Spread/rest operators and modules
  • Day 7: Review and mini-project

Week 6: Asynchronous JavaScript and Browser Fundamentals

Focus: Handling async operations and browser interactions Project Folders: 06 Asynch JS/, 07 Browser Fundamentals/

Topics to Cover:

  • Callbacks and callback hell
  • Promises (creation, chaining, error handling)
  • Async/await syntax
  • DOM manipulation (querySelector, event listeners)
  • Browser APIs (setTimeout, setInterval, fetch)
  • Event handling
  • Basic browser storage

Goals:

  • Handle asynchronous operations
  • Interact with web pages dynamically
  • Make API calls
  • Understand the event loop

Daily Breakdown:

  • Day 1-2: Callbacks and basic async concepts
  • Day 3-4: Promises and promise chaining
  • Day 5-6: Async/await and DOM manipulation
  • Day 7: Review and integration project

Learning Methodology

Daily Routine:

  1. Morning (1-2 hours): Read documentation/theory
  2. Afternoon (2-3 hours): Hands-on coding in project folders
  3. Evening (1 hour): Review code, debug, and refactor

Resources:

  • MDN Web Docs (primary reference)
  • JavaScript.info (comprehensive tutorials)
  • freeCodeCamp JavaScript curriculum
  • Eloquent JavaScript (book)
  • YouTube channels: Traversy Media, Academind

Practice Guidelines:

  • Write code in the script.js files for each project
  • Update index.html to display results or create interactive elements
  • Use browser console for debugging
  • Create at least one mini-project per week
  • Review and refactor code regularly

Assessment:

  • Can you explain the concepts to someone else?
  • Can you solve problems using the learned concepts?
  • Can you read and understand others' JavaScript code?
  • Can you debug common errors?

Post-6 Weeks: Moving to React

After completing this plan, you'll be ready to learn React. Key concepts you'll understand:

  • Component state management
  • Props and component communication
  • Event handling in React
  • JSX and its relation to JavaScript
  • React's virtual DOM vs browser DOM

Next Steps:

  • Start with React documentation
  • Build simple React components
  • Learn about state and lifecycle
  • Practice with create-react-app
  • Move to the 08 React Specifics/ folder

Tips for Success

  1. Consistency: Code every day, even if just 30 minutes
  2. Practice: Don't just read - implement concepts
  3. Debug: Learn to use browser dev tools effectively
  4. Teach: Explain concepts as you learn them
  5. Build: Create small projects to apply knowledge
  6. Review: Revisit previous weeks' concepts regularly

Remember: Learning JavaScript is a journey. Focus on understanding concepts deeply rather than rushing through topics.

About

Repo For Learning Projects

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors