JavaScript Programming

Asynchronous Style

Continuation Passing Style (CPS)

Object Oriented

Event (NodeJS)

Parallel Style

Event (Browser)

Direct Style

Functional Oriented

Promises (ES6 Promise API) #

Async / Await # #

Callback Hell / Pyramid Of Doom

Flatten Pattern #

Callback Functions

NodeJS Event Loop #

Browser Event Loop #

Class

Constructor, operator "new"

Prototypal inheritance

Object methods, "this"

Objects

Class patterns

Class inheritance, super

Events

Event delegation

Runtime concepts

Concurrency Model

Event loop

Memory Heap 

Higher Order Functions

First Class Functions

Web Workers API (Browsers)

Call Stack

Callback Queue

Recursion #

Timers #

Browser

NodeJS

Error First Pattern (NodeJS API Style)

Function Declaration Hoisting

setTimeout

setInterval

setImmediate

setInterval

setTimeout

Clusters (NodeJS)

XMLHttpRequest

Bubbling and capturing

Tasks

Sequential

Parallel

traditional constructs

for/while

try/catch

ES6

Iterators

Iterables

Generators

Symbol

Promise

ES8

async function Declaration

await Keyword

Functional Programming

Functions.prototype.map

Functions.prototype.reduce

Functions.prototype.filter

Pure Functions

Mutations