A comprehensive JavaScript learning repository designed for developers of all skill levels - from complete beginners to those looking to solidify their JavaScript fundamentals.
javascript-mastery/
├── 01-intro-to-js/ # Getting started with JavaScript
├── 02-variables-scopes/ # Variables (var, let, const) and scope
├── 03-datatypes/ # JavaScript data types
├── 04-operators/ # All types of operators
├── 05-conditional-statements/ # Decision making in code
├── 06-loops/ # Iteration and repetition
├── 07-functions/ # Function concepts and patterns
├── 08-objects/ # Object-oriented programming basics
├── 09-constructor-function/ # Constructor functions
├── 10-prototype/ # Prototype chain and inheritance
├── 11-destructuring/ # Modern ES6+ destructuring
└── 12-classes/ # ES6 classes and OOP concepts
Start from folder 01-intro-to-js
and work your way through sequentially. Each folder builds upon the previous concepts.
Jump to specific topics you want to review or use as reference material. Each folder is self-contained with practical examples.
- Basic JavaScript syntax
- Output methods (alert, document.write, console.log)
var
,let
, andconst
keywords- Block scope vs function scope
- Variable hoisting concepts
- Primitive and non-primitive data types
- Type checking and conversion
- Arithmetic:
+
,-
,*
,/
,%
- Assignment:
=
,+=
,-=
, etc. - Comparison:
==
,===
,!=
,!==
,>
,<
- Logical:
&&
,||
,!
- String: Template literals and concatenation
if
statementsif-else
statementselse-if
chainsswitch
statements- Ternary operator (
? :
)
for
loopswhile
loopsdo-while
loopsbreak
andcontinue
statements
- Function declarations and expressions
- Anonymous functions
- Callback functions
- Parameters and arguments
- Default parameters
- Return statements
- Recursive functions
- Object creation and manipulation
- Object methods
this
keyword context
- Creating objects with constructor functions
- Function constructors vs object literals
- Prototype chain
- Prototype inheritance
- Adding methods to prototypes
- Array destructuring
- Object destructuring
- Nested destructuring patterns
- Class declarations
- Constructor methods
- Getters and setters
- Static methods
- Private methods
- Inheritance with
extends
- Method overriding
- A modern web browser (Chrome, Firefox, Safari, Edge)
- A code editor (VS Code, Sublime Text, Atom, etc.)
- Basic understanding of HTML (helpful but not required)
-
Clone or download this repository
git clone <your-repo-url> cd javascript-mastery
-
For HTML files: Open
index.html
files directly in your browser -
For JavaScript files:
- Open in browser console
- Use Node.js:
node filename.js
- Copy-paste into browser developer tools
After completing this course, you will:
- ✅ Understand JavaScript fundamentals
- ✅ Write clean, readable JavaScript code
- ✅ Handle data types and variables effectively
- ✅ Implement control flow and loops
- ✅ Create and use functions
- ✅ Work with objects and classes
- ✅ Understand modern ES6+ features
Found an error or want to improve an example? Contributions are welcome! Please feel free to:
- Report issues
- Suggest improvements
- Add more examples
- Fix typos or errors
Created with ❤️ for the JavaScript learning community. Happy coding! 🎉
Remember: The best way to learn programming is by doing. Don't just read the code - run it, modify it, and experiment with it!