Skip to content

Latest commit

 

History

History
163 lines (146 loc) · 3.28 KB

File metadata and controls

163 lines (146 loc) · 3.28 KB

JAVASCRIPT ROADMAP

  • basic syntax

  • functions

  • object literals

  • arrays

  • regular expressions

  • prototypal inheritance

  • additions to the standard library

    • Array
      • forEach
      • filter
      • map
      • reduce
    • String
      • trim
    • JSON
      • parse
      • stringify
  • accessors (getters and setters)

  • additions to the standard library

    • Array
      • every
      • indexOf
      • lastIndexOf
      • some
    • Object
      • getPrototypeOf
      • create
    • Function
      • bind
      • call
      • apply
  • strict mode (increased code validation)

ES6 / ECMAScript 2015:

  • arrow functions

  • template strings

  • Promises

  • import statement

  • let and const

  • destructuring

  • for..of

  • classes

  • enhanced object literals

  • default parameter values

  • rest parameters, spread operator (ellipsis ...)

  • Map, Set

  • WeakMap, WeakSet (despite horrible name, means objects as keys)

  • additions to standard library

    • Array
      • from
      • find, findIndex
    • String
      • startsWith, endsWith, includes
      • repeat
    • Math, Number

ES2016

  • Array.includes

ES2017

  • async / await
  • Object.values and Object.entries
  • trailing commas in parameter lists

ES2018

  • Rest / Spread properties
  • Promise.finally
  • for await.. of async iterators

ES2019

  • Array.flat and Array.flatMap

ES2020

  • Promise.allSettled
  • globalThis

ADVANCED JS CONCEPTS

  • JavaScript Foundation
    • Javascript Engine
    • Interpreters and Compilers
    • Babel + TypeScript
    • WebAssembly
    • Call Stack and Memory Heap
    • Stack Overflow
    • Garbage Collection
    • Memory Leaks
    • Single Threaded
    • Javascript Runtime
    • Execution Context
    • Lexical Environment
    • Hoisting
    • Function Invocation
    • arguments Keyword
    • Variable Environment
    • Scope Chain
    • [[scope]]
    • Function Scope vs Block Scope
    • Global Variables
    • IIFE
    • this Keyword
    • call(), apply(), bind()
    • bind() and currying
    • Context vs Scope
  • Types in JavaScript
    • Javascript Types
    • Array.isArray()
    • Pass By Value vs Pass By Reference
    • Type Coercion
    • Quick Note: Upcoming Videos
    • Dynamic vs Static Typing
    • Weakly vs Strongly Typed
    • Static Typing In JavaScript
  • Closures and Prototypal Inheritance
    • Functions are Objects
    • First Class Citizens
    • Higher Order Functions
    • Closures, Memory, Encapsulation
    • Prototypal Inheritance
  • Object Oriented Programming
    • OOP and FP
    • Object.create()
    • Constructor Functions
    • ES6 Classes
    • Object.create() vs Class
    • Inheritance
    • Private Class Variables
    • Public vs Private
  • Functional Programming
    • Functional Programming
    • Pure Functions
    • Imperative vs Declarative
    • Immutability
    • Higher Order Functions and Closures
    • Currying
    • Memoization
    • Compose and Pipe
  • Asynchronous JavaScript
    • Promises
    • ES8 - Async Await
    • ES9 (ES2018)
    • Job Queue
    • Parallel, Sequence and Race
    • ES2020: allSettled()
    • ES2021: any()
    • Threads, Concurrency and Parallelism
  • Modules In JavaScript
    • Module Pattern Pros and Cons
    • CommonJS, AMD, UMD
    • ES6 Modules

resources: