This repo will cover all the concepts required to learn javascript from scratch.
I have created this repo as a part of self-learning and development activity by referring the Udemy Course - The Complete Javascript Course
fundamentals
→ Minute details with examples on each and every topic in javascriptassignments
→ Practice assignments on each topic to improve our coding skillschallenges
→ Scenario driven challenge to cover multiple topics to get the outputconcept_images
→ Structure images for referencecourse-materials
→ Material shared during the entire course
If you're new to Javascript world then start learning the fundamentals first as this will act as the building block for the overall language understanding.
- Pick a topic from
fundamentals
, Understand the topic and practice a sample problem. - Move to
assignment
to solve an assignment on the same topic. - Repeat this steps for all the sections/topics present inside fundamentals.
- At the end of each section, Move to
challenges
and try to complete all the challanges for that section.
Fundamentals Part 1
- Intro to Javascript
- Linking a Javascript File
- Values and Variables
- Data Types
- let, const, and var
- Basic Operators
- Operator Precedence
- String and Template Literals
- if-else Statement
- Type Conversion and Coercion
- Truthy and Falsy Values
- == vs ===
- Boolean Logic
- Logical Operators
- Switch Statement
- Conditional Operator
Fundamentals Part 2
- Strict Mode
- Functions
- Function Declaration vs Expressions
- Arrow Functions
- Function Calling Functions
- Reviewing Functions
- Arrays Introduction
- Basic Array Operations
- Introduction to Objects
- Dot vs Bracket Notations
- Object Methods
- for Loop
- Loop Arrays, Continue, and Break
- Loop Backwards and Nested Loops
- While Loop
Behind the Scenes
Data Structure, Modern Operators, and Strings
- Destructuring Arrays
- Destructuring Objects
- Spread Operator
- Rest Patterns and Parameters
- Short Circuiting - && and ||
- Nullish Coalescing Operator - ??
- Looping Arrays - for of loop
- Enhanced Object Literals
- Optional Chaining Operator ?.
- Looping Objects - keys, values, and entries
- Sets
- Maps - Fundamentals
- Maps - Iterations
- Data Structure to Use
- Working with Strings - Part 1
- Working with Strings - Part 2
- Working with Strings - Part 3
- Working with Strings - Paractice Methods
A Closer Look at the Functions
- Defaulting Parameters
- How Passing Argument Works - Value vs Reference
- First Class and Higher Order Functions
- Functions Accepting Callback Functions
- Functions Returning Functions
- The Call and Apply methods
- The Bind Method
- Immediately Invoked Function Expressions - IIFE
- Closures
- More Closures Examples
Working With Arrays
- Simple Array Methods
- Looping Arrays - forEach
- forEach with Map and Set
- Project Bankist App
- Creating DOM Elements
- Data Transformation: Map, Filter, Reduce
- The Map Method
- Computing Usernames
- The Filter Method
- The Reduce Method
- The Magic of Chaining Method
- The Find Method
- Implement Login
- Implement Transfers
- The FindIndex Method
- Some and Every
- flat and flatMap
- Sorting Arrays
- More ways of Creating and Filling Arrays
- Which Array method to use?
- Method Practice
Object Oriented Programming (OOP) with JavaScript
- What is OOP?
- OOP in JavaScript
- Constructor Functions and the new operator
- Prototypes
- Prototypal Inheritance and Prototypal Chain : Capture clear picture later.
- Prototype Inheritance on built-in Objectes
- ES6 Classes
- Setters and Getters
- Static Methods
- Object.create()
- Inheritance between Classes: Constuctor Functions
- Inheritance between Classes: ES6 Classes
- Inheritance between Classes: Object.create()
- Another Class Example
- Encapsulation: Protected Properties and Methods
- Encapsulation: Private Class Fields and Methods
- Chaining Methods
Asynchronous JavaScript: Promises, Async/Await, and Ajax
- Async JS, Ajax, and API
- First AJAX call: XMLHTTPREQUEST
- Callback Hell
- Promises and Fetch API
- Consuming Promises
- Chaining Promises
- Handling Rejected Promises
- Throwing Errors Manually
- Asynchronous Behind the Scene - The Event Loop
- Event Loop in Practice
- Building a Simple Promise
- Promisifying Geolocation API
- Consuming Promises with Async/Await
- Error Handling with try/catch
- Returning Values from Async Function
- Running Promise in Parallel
- Other Promise Combinators - Race, AllSettled, Any
Modules, Tooling, and Functional
Refer Assignments File to get all the questions.
Fundamentals Part 1
Fundamentals Part 2
Refer Challenges File to get all the questions.