Overview
Who is this study plan for?
This study plan is tailored for individuals who are eager to learn the JavaScript programming language and already have a solid understanding of HTML and CSS.
What is the goal of this study plan?
The goal of this study plan is to provide you with a structured and organised approach to learning the fundamentals of JavaScript. It is designed to help you stay focused and on track as you embark on your journey to master this programming language. By following this plan, you will build a strong foundation in JavaScript and develop the skills necessary to tackle more advanced concepts and projects.
How to use this study plan?
Below, you will find a comprehensive table of contents outlining what you will be learning throughout this study plan.
As you make progress, feel free to check off completed items from the checklist. Each topic includes recommended learning resources and practice materials. If you encounter any difficulties while working on practice questions, don't hesitate to seek help from ChatGPT, which can provide answers and explanations. Rest assured that all the resources linked in this study plan are freely accessible.
Ideally, this study plan can be completed within 3 weeks if you already have prior programming experience. However, if JavaScript is your first programming language, it may take up to 3 months or longer. To accommodate your preferred timeline, you can add additional months using the provided button and adjust the content distribution accordingly. Keep in mind that setting realistic goals and deadlines based on your daily availability and other commitments is crucial for a successful learning experience.
Table of Contents
Introduction To Programming with JavaScript
- [ ] What is programming?
- [ ] console
- [ ] nodeJS
Variables
- [ ] What are variables?
- [ ] Typed vs Untyped languages
- [ ] Variables in JavaScript
- [ ] Blocks
- [ ] Constants
- [ ] Literals
Data Types
- [ ] Numbers
- [ ] Strings
- [ ] Booleans
- [ ] Arrays
Operators
- [ ] Arithmetic Operators
- [ ] Logical Operators
- [ ] Ternary Operator
- [ ] Comparison Operators
- [ ] Nullish Coalescing Operator
- [ ] Expressions
Control Flow
- [ ] Comments
- [ ] let vs var
- [ ] Hoisting
- [ ] Loops
- [ ] If Else
- [ ] Switch
Functions
- [ ] What are functions?
- [ ] Parameters, Arguments, Return
- [ ] Arrow Functions
- [ ] Closures
Classes & Objects
- [ ] Objects
- [ ] Methods
- [ ] Classes
- [ ] Inheritance
- [ ] Prototypes
Equality & Coercion
- [ ] Strict Equality
- [ ] Coercion
- [ ] Type Conversion
Other Data Types
-
[ ] Map
-
[ ] Set
-
[ ] BigInt
-
[ ] Symbol
Asynchronous Programming
- [ ] Synchronous vs Asynchronous Programming
- [ ] Callbacks
- [ ] Promises
- [ ] async/await
Network
- [ ] AJAX
- [ ] APIs
- [ ] JSON
Browser
- [ ] DOM manipulation
- [ ] Events
- [ ] alert, prompt, confirm
- [ ] deferring scripts
Errors
- [ ] Types of Errors
- [ ] Error Handling
- [ ] Error object
- [ ] Debugging
Regular Expressions
- [ ] What are Regular Expressions?
- [ ] Regular Expression Syntax
- [ ] Regular Expression Methods
Date & Time
Modules
Iterators & Generators
- [ ] Iterators
- [ ] Generators
Code Quality
- [ ] What is code quality?
- [ ] Basic guidelines
- [ ] Style Guides
About JavaScript
- [ ] Java vs JavaScript
- [ ] EcmaScript
JIT Compiler
Progress Tracker
1
2
3
Helpful Resources
The Modern JavaScript Tutorial
Eloquent JavaScript
https://github.com/getify/You-Dont-Know-JS
https://github.com/sorrycc/awesome-javascript