Clear, chapter-by-chapter notes for learning JavaScript from the basics and revisiting the fundamentals when you need a refresher.
Learn JavaScript is a documentation-first repository for people who want a simple, readable way to study core JavaScript concepts. The chapters are written in Markdown, organized in a beginner-friendly order, and designed to be useful for both steady learning and quick revision.
Everything is designed to be easy to read directly on GitHub, easy to share, and easy to improve over time.
- Start with the introduction
- Jump to the chapter index
- Read the contributing guide
- See ways to support the project
This project was created to make JavaScript learning materials feel:
- Clear instead of overwhelming
- Structured instead of scattered
- Practical instead of overly abstract
- Easy to read without setup
- Useful for both beginners and revisiting fundamentals
Rather than teaching through a large project right away, this repository focuses on core ideas first and explains them in small, focused chapters.
This repository is a good fit for:
- Beginners starting JavaScript from scratch
- Students preparing notes or revision material
- Developers refreshing important fundamentals
- Anyone who prefers reading concise explanations on GitHub
You can use this repository in a few different ways:
- Start from chapter
00and move in order for a structured path. - Open a single chapter when you want to revise a specific topic.
- Use it as a lightweight reference while learning or practicing elsewhere.
- Watch or star the repository if you want to follow future chapters and improvements.
If you want a local copy:
git clone https://github.com/jaganganesh/learn-javascript.git
cd learn-javascriptThe repository is organized into individual chapters, and more will be added over time.
- 00. Introduction to JavaScript
- 01. Data Types in JavaScript
- 02. Variables in JavaScript
- 03. Hoisting in JavaScript
- 04. Scopes in JavaScript
- 05. Operators in JavaScript
- 06. Type Coercion in JavaScript
- 07. Equality in JavaScript
- 08. Falsy and Truthy in JavaScript
The current chapters cover:
- JavaScript basics and terminology
- Primitive and non-primitive data types
- Variables and declarations
- Hoisting and scope
- Operators and type coercion
- Equality and boolean behavior
- Conditional logic
- Arrays and common array operations
chapters/contains the learning notesREADME.mdis the main landing page and chapter guideCONTRIBUTING.mdexplains the contribution workflowSUPPORT.mdlists ways to support the projectLICENSEcontains the project license
The repository is still growing. Planned or likely future topics include:
- Loops
- Objects
- Functions
- ES6+ features
- Asynchronous JavaScript
Contributions are welcome, especially if they improve:
- Clarity
- Technical accuracy
- Beginner-friendliness
- Examples
- Structure and flow
- Grammar and formatting
Before opening a pull request:
- Read CONTRIBUTING.md
- Open pull requests against
develop - Do not open pull requests directly against
main - Run
npm run format
If this project helps you, you can support it by:
- Starring the repository
- Sharing it with other learners
- Opening issues for mistakes or unclear explanations
- Contributing improvements
- Sponsoring the work through GitHub Sponsors
This project is licensed under the GNU General Public License v3.0 or later.