Course Overview and Introduction
  • Setting up your workspace
  • Where to get help
  • Welcome
JavaScript Data Types, Operators, and Quirks
  • JavaScript Data Types (video)
  • JavaScript Data Types (article)
  • Type Coercion (video)
  • Type Coercion (article)
  • == vs === (video)
  • == vs === (article)
  • Falsy Values (video)
  • Falsy Values (article)
  • Null vs Undefined (video)
  • Null vs Undefined (article)
  • Operators (video)
  • Operator Precedence (video)
  • Logical AND, OR, NOT (video)
  • Logical AND, OR, NOT (article)
  • Short Circuit Evaluation (video)
  • Short Circuit Evaluation (article)
  • Functions, invocation, return (video)
  • Functions, invocation, return (article)
  • WTF JS? 8 Funky Equations (video)
  • WTF JS? 8 Funky Equations (article)
JavaScript Scope and Execution
  • What is scope? (video)
  • What is Scope? (article)
  • Automatic Global Scope (video)
  • Variable Hoisting (video)
  • Variable Hoisting (article)
  • Let & Const (video)
  • Let & Const (article)
this, new, prototypes, and arrow functions
  • The Keyword 'this' (video)
  • The Global Object
  • Declared Object
  • The 'new' keyword - part 1
  • The 'new' Keyword - part 2
  • Prototypes
  • The 'new' Keyword & Prototypes (article)
  • Call, Bind, Apply (video)
  • Arrow Functions (video)
  • Arrow Functions (article)
  • The Keyword 'this' Massive Recap (article)
Tougher Concepts
  • Recursion (video)
  • Recursion (article)
  • Closures (video)
  • Closures (article)
  • IIFE (video)
  • IIFE (article)
  • Callbacks (video)
  • Callbacks (article)
  • Promises (video)
  • Promises (article)
What is ECMAScript?
  • Introduction to ES (video)
  • Introduction to ES (article)
ES 2015
  • Concepts Already Covered in this Course
  • Default Parameters
  • Spread and Rest Paramaters
  • Template Literals
  • Array.keys, values, and entries
  • Object Property Shorthand
  • Object Method Properties
  • Destructuring - Array Matching
ES 2016
  • Array Includes
  • Exponentiation Operator
ES 2017
  • Object.keys, values, entries (video)
  • Object.keys, values, entries (article)
  • String Padding (video)
  • String Padding (article)
  • Trailing Commas (video)
  • Trailing Commas (article)
  • Async/Await (video)
  • Async/Await (article)
Bonus Articles
  • Regular Expressions in JavaScript (article)