Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ashishshres/learning-javascript

Learning JavaScript From Scratch
https://github.com/ashishshres/learning-javascript

arrays bind call class conditionals dates dom dom-manipulation events functions iterations javascript maths numbers objects oop prototype prototype-inheritance strings

Last synced: about 2 months ago
JSON representation

Learning JavaScript From Scratch

Awesome Lists containing this project

README

        

# Learning JavaScript⚙️

## Basics

- Variables
- Datatypes
- Conversion and Operation
- Comparision
- Stack and Heap Memory
- Strings
- Numbers
- Maths
- Dates

## Arrays

- `push`, `pop`, `shift`, `unshift`
- `slice`, `splice`
- `concat()`, Spread Operator, `flat()`, `Array.isArray()`, `Array.from()`, `Array.of()`

## Objects

- Creating Objects using Object Literals and Singleton
- Accessing Object values
- Objects and Functions
- Objects Destructuring
- JSON
- Object Methods

## Functions

- Creating Functions
- Passing Values to a Function
- Returning from a Function
- Passing Objects to a Function
- Passing Arrays to a Function
- Scopes, `this`
- Arrow Functions
- IIFE
- Execution Context and Call Stack

## Conditionals

- `if` and `else` statements
- `switch` statements
- Truthy and Falsy values
- Nullish Coalescing Operator `??`
- Ternary Operator `?:`

## Iterations

- `for` loop
- `break` and `continue`
- `while` loop
- `do-while` loop
- `forof` loop, `forin` loop, `forEach` loop
- `map`, `filter` and `reduce`

## Document Object Model (DOM)

- DOM Tree
- `getElementById()`, `getElementsByClassName()`, `querySelector()`, `querySelectorAll()`
- Traversing in DOM Tree
- Creating a New Element
- Editing and Removing DOM Elements
- Events, Event Propagation, Event Bubbling, Event Capturing

## Asynchronous JavaScript

- Async Code, Blocking vs Non Blocking Code
- Event Loop
- `setTimeout()` and `setInterval()`
- AJAX
- Promises
- Async and Await
- Fetch

## OOP

- Object Literals
- Constructor Functions
- New Instances, `new` Keyword
- Prototype, Prototype Inheritance
- `call` Keyword, `bind` Keyword,
- Classes, Inheritance, `super` Keyword
- Static Props
- `Object.getOwnPropertyDescriptor()`, `Object.defineProperty()`
- Getter and Setter
- Lexical Scoping and Closures