Skip to content

Latest commit

 

History

History
197 lines (142 loc) · 3.47 KB

index.md

File metadata and controls

197 lines (142 loc) · 3.47 KB

JavaScript

Grammar and types

[JS-GRAMMAR] [A]
  • Basic syntax & comments
  • Declarations
  • Variable scope
  • Variable hoisting
  • Data structures and types (primitives)
  • Literals
[JS-GRAMMAR] [C]
  • Destructuring assignment syntax

Control flow and error handling

[JS-FLOW] [A]
  • if...else
  • switch
  • try/catch/throw
  • Error objects

Loops and iteration

[JS-LOOPS] [A]
  • for
  • while
  • do...while
  • break/continue
  • for..in
[JS-ITERATORS] [C]
  • for..of

Functions

[JS-FUNCTIONS] [A]
  • Defining functions
  • Calling functions
  • Function scope
  • Arguments & parameters
[JS-FUNCTIONS] [B]
  • this binding
  • Arrow functions
[JS-FUNCTIONS] [C]
  • Closures
  • spread (...) syntax
  • Named arguments
[JS-FUNCTIONS] [D]
  • Higher order functions
  • Function composition
  • Point free style
  • Currying

Expressions and operators

[JS-OPERATORS] [A]
  • Assignment & Comparisons (=, ==, ===, !=, !==, <, >, <=, >=)
  • Arithmetic operators (%, ++, --, -, +)
[JS-OPERATORS] [B]
  • Logical operators (&&, ||, !)
[JS-OPERATORS] [D]
  • Bitwise operators (&, |, ^, ~, <<, >>, >>>)

Numbers and dates

[JS-UTIL] [B]
  • Number literals
  • Number object
  • Math object
  • Date object

Indexed collections

Arrays

[JS-COLLECTIONS] [A]
  • push
  • pop
[JS-COLLECTIONS] [B]
  • shift
  • unshift
  • spread (...) syntax
[JS-COLLECTIONS] [C]
  • map
  • filter
  • reduce
  • Method chaining
[JS-COLLECTIONS] [E]
  • Typed arrays

Keyed collections

[JS-COLLECTIONS] [C]
  • Map
  • Set
[JS-COLLECTIONS] [D]
  • WeakMap
  • WeakSet

Working with objects

[JS-OBJECTS] [A]
  • Objects and properties
  • Creating objects
[JS-OBJECTS] [B]
  • Defining methods
[JS-OBJECTS] [C]
  • Getter and setter

Details of the object model

[JS-OBJECTS] [C]
  • Prototype-based OOP
[JS-OBJECTS] [D]
  • Creating object hierarchies
  • Inheritance (prototype)

Classes

[JS-CLASSES] [C]
  • constructor
  • extends
  • super
  • static

Promises

[JS-ASYNC] [B]
  • Guarantees
  • Chaining
  • Error propagation
[JS-ASYNC] [C]
  • Execution order, event loop
[JS-ASYNC] [D]
  • Composition (Promise.all, Promise.race)
  • async / await

JavaScript modules

[JS-MODULES] [B]
  • Exporting
  • Importing
  • Default exports
[JS-MODULES] [C]
  • Renaming features
  • Aggregating modules
[JS-MODULES] [D]
  • Dynamic module loading

Iterators and generators

[JS-ITERATORS] [E]
  • Iterators
  • Iterables
[JS-ITERATORS] [F]
  • Generators

Meta programming

[JS-META] [E]
  • Proxy
[JS-META] [F]
  • Handlers and traps
  • Revocable Proxy
  • Reflect

Useful resources