Welcome to the 100 JavaScript Learning Path repository! This is a comprehensive, structured collection of JavaScript exercises designed to take you from absolute beginner to understanding Object-Oriented Programming.
This repository contains 100 carefully designed tasks organized into 10 progressive levels. Each task includes:
- Clear description and instructions
- Example output
- Separate files for task description and your solution
Perfect for:
- JavaScript beginners
- Self-learners
- Bootcamp students
- Coding interview preparation
- Teachers looking for structured exercises
Tasks 1-10: Learn variables, data types, basic operations, and console output.
Tasks 11-20: Master if/else, switch statements, and decision-making logic.
Tasks 21-30: Practice for, while, and do-while loops. Includes FizzBuzz and prime numbers!
Tasks 31-40: Work with arrays, loops, and array manipulation.
Tasks 41-50: Create and use functions, parameters, return values, and more.
Tasks 51-60: String manipulation, methods, and text processing.
Tasks 61-70: Object creation, properties, methods, and nested objects.
Tasks 71-80: Real-world projects like ATM simulation, library system, restaurant menu.
Tasks 81-90: Destructuring, spread operator, arrow functions, map/filter/reduce.
Tasks 91-100: Classes, inheritance, encapsulation, static methods, and a final project.
git clone https://github.com/atamer99/js-practice-100
cd js-practice-100Navigate to any level folder:
cd level01_basicsOpen the *_task.js file to read the instructions:
cat task01_hello_world_task.jsWrite your code in the corresponding *_solution.js file:
# Open in your favorite editor
code task01_hello_world_solution.jsExecute your solution with Node.js:
node task01_hello_world_solution.jsjs-practice-100/
│
├── README.md
│
├── level01_basics/
│ ├── task01_hello_world_task.js
│ ├── task01_hello_world_solution.js
│ ├── task02_personal_introduction_task.js
│ ├── task02_personal_introduction_solution.js
│ └── ... (10 tasks total)
│
├── level02_conditionals/
│ └── ... (10 tasks)
│
├── level03_loops/
│ └── ... (10 tasks)
│
├── level04_arrays/
│ └── ... (10 tasks)
│
├── level05_functions/
│ └── ... (10 tasks)
│
├── level06_strings/
│ └── ... (10 tasks)
│
├── level07_objects/
│ └── ... (10 tasks)
│
├── level08_advanced/
│ └── ... (10 tasks)
│
├── level09_intermediate/
│ └── ... (10 tasks)
│
└── level10_oop/
└── ... (10 tasks)
- Start from Level 1 - Don't skip ahead! Each level builds on previous concepts.
- Read Carefully - Each task file includes detailed instructions and example output.
- Practice Daily - Try to complete 2-3 tasks per day.
- Don't Peek - Try to solve problems yourself before looking for help.
- Test Your Code - Run your solutions to verify they work correctly.
- Experiment - Modify tasks and try different approaches.
- Node.js (v12 or higher)
- A code editor (VS Code, Sublime Text, etc.)
- Basic command line knowledge
By completing all 100 tasks, you'll master:
✅ Variables and Data Types
✅ Operators (Arithmetic, Comparison, Logical)
✅ Conditional Statements (if/else, switch)
✅ Loops (for, while, do-while)
✅ Arrays and Array Methods
✅ Functions (Regular, Arrow, Higher-Order)
✅ String Manipulation
✅ Objects and Methods
✅ ES6+ Features (Destructuring, Spread, Rest)
✅ Array Methods (map, filter, reduce)
✅ Object-Oriented Programming (Classes, Inheritance)
✅ Problem-Solving Skills
Once you complete all 100 tasks, you'll have:
- A solid foundation in JavaScript
- A GitHub portfolio showcasing 100+ exercises
- Practical problem-solving experience
- Confidence to tackle real projects
Found a typo or want to improve a task? Contributions are welcome!
- Fork this repository
- Create a new branch (
git checkout -b improve-task) - Make your changes
- Submit a pull request
If you find this helpful, please:
- ⭐ Star this repository
- 🍴 Fork it for your own learning
- 📢 Share it with others learning JavaScript
Level 1 (Basics): Variables, Data Types, Arithmetic
Level 2 (Conditionals): if/else, switch, Comparison
Level 3 (Loops): for, while, FizzBuzz, Prime Numbers
Level 4 (Arrays): Array Basics, Manipulation, Loops
Level 5 (Functions): Creating Functions, Parameters, Return
Level 6 (Strings): String Methods, Manipulation, Parsing
Level 7 (Objects): Object Basics, Properties, Methods
Level 8 (Projects): Real-World Practice Projects
Level 9 (Modern JS): ES6+, Destructuring, map/filter/reduce
Level 10 (OOP): Classes, Inheritance, Encapsulation
Start your journey now! Open level01_basics/ and begin with Task 1! 🎯