This repository contains the hand-written notes which I took while learning some important javascript concepts. I have followed some youtube channels to learn these javascript concepts and prepared these notes.
- How JavaScript Works & Execution Context
- How JavaScript Code is Executed & Call Stack
- Hoisting in JavaScript (Variables & Functions)
- How Functions Work in JavaScript & Variable Environment
- Shortest JavaScript Program (window & this keyword)
- undefined vs not defined in JavaScript
- The Scope Chain, Scope & Lexical Environment
- let & const in JavaScript (Temporal Dead Zone)
- Block Scope & Shadowing in JavaScript
- Closures in JavaScript
- setTimeout + Closures Interview Question
- First Class Functions & Anonymous Functions
- Callback Functions in JavaScript
- Asynchronous JavaScript & Event Loop
- JavaScript Engine (Google's V8 Architecture)
- Trust Issues With setTimeout()
- Higher Order Functions (Functional Programming)
- map(), filter() and reduce() in JavaScript
- find() & sort() in JavaScript
- Chaining Array Methods (filter() & map()) in JavaScript
- call(), apply() and bind() in JavaScript
- HTTP Requests in JavaScript
- What are HTTP Requests
- Making HTTP Request
- Response Status
- HTTP Request Using Callback
- JSON Data in JavaScript
- Callback Hell in JavaScript
- Promise in JavaScript
- Chaining Promises in JavaScript
- Fetch API using JavaScript
- Async & Await in JavaScript
- Throwing & Catching Errors using Async & Await in JavaScript
- Object Shorthand Notation in JavaScript
- Regular Expression Patterns in JavaScript
- All About Local Storage Using Javascript
- Class, Class Constructor, New Keyword, Class Methods & Method Chaining
- Ternary Operator in JavaScript
- Class Inheritance (Subclasses), super() keyword, Constructor(under the hood working)
- Prototype Model & Prototypal Inheritance in JavaScript
- Working of Prototypal Inheritance In JavaScript With Built-in Objects
- Event Bubbling, Capturing, Trickling & Event Delegation in JavaScript
- Polyfill for bind() method in JavaScript
- Currying in JavaScript
- JavaScript (Vanilla + Modern)
Feel free to submit issues and enhancement requests.
- Fork this repo on GitHub
- Clone this project to your own machine
- Commit changes to your own branch
- Push your work back up to your fork
- Submit a Pull request so that I can review your changes
NOTE: Make sure to merge the latest from "upstream" before making a pull request!
- Support me by clicking the ⭐ button on the upper right side of this page.
- Spread it to others to let more people to have an access to this project.