Objects & Constructor Functions
  • Objects & Object Contsructors
  • Function Constructors
  • Problems With Constructors 1
  • Problems With Constructors 2
Function Factories & The Module Pattern
  • JavaScript Scopes
  • Closures
  • Private Variables
  • Factory Functions
  • Inheritance With Factory Functions
  • Module Pattern 1
  • Module Pattern 2
  • Module Dependencies
  • Examining Bootstrap Alert Module
The Prototype
  • What Is The Prototype?
  • Multiple Levels
  • Accessor Properties
  • Value Of This
  • For In Loop
  • Recommended Method For Setting Prototype
  • Prototype Best Practices
The Event Loop
  • The JavaScript Engine
  • JavaScript Runtime Environment
  • Microtask Queue
Working With Asynchronous JavaScript
  • What Are Callbacks?
  • Callback Hell
  • Callbacks Are Difficult To Decipher
  • Inversion Of Control
  • Introducing Promises
  • Using Promises
  • Promises Organize Code Better
  • Error Handling With Promises
  • Settled Promise
  • Get Control Back With Promises
  • Custom Promise Implementation 1
  • Custom Promise Implementation 2
  • Custom Promise Implementation 3
  • Custom Promise Implementation 4
  • Using Our Custom Promise Implementation
  • Promise.all
  • Fetch Promise
  • Async Await
  • Using Await
  • Convert Promises To Async Await
  • Await Accepts Thenable
  • Async Await Error Handling
Modern JavaScript
  • Introduction to Modern JavaScript
  • Using Let Instead Of Var
  • Few Gotchas With Let
  • Const
  • Template Strings
  • String Padding
  • Default Parameters 1
  • Default Parameters 2
  • Rest Operator
  • Spread Operator
  • Arrow Functions
  • Context Of This With Arrow Functions
  • Object Literals Shorthand
  • Object Destructuring
  • Add Functions To Object
  • Object.assign
  • Maps 1
  • Maps 2
  • WeakMaps
  • Sets
  • Working With Sets & Arrays
  • Set Operations
  • WeakSet
  • Object.entries
  • Object.values
  • Object.getOwnPropertyDescriptors
  • For Of Loop
  • Array Includes Method
  • Introduction To Modules
  • Modules Import As Object
  • Modules Default Export
  • Modules Re-exporting
  • Modules Gotchas
Archive: previous videos
  • Introduction
  • let
  • Let in for loops
  • Let Gotchas
  • Default Parameters
  • Expressions As Default Values
  • Rest Operator
  • Spread Operator
  • Arrow Functions
  • Binding Of This With Arrow Functions
  • Object Initialization Short Hand
  • Object Destructuring
  • Adding Functions To An Object
  • Template Strings
  • Object.assign