Before We Get Started
  • How to Take This Course
  • Join Our Community!
  • ES6 vs ES2015
The 'forEach' Helper
  • Array Helper Methods - The Easiest Way to Write Better Code
  • The forEach Helper
  • forEach Continued
  • Why Use forEach?
  • Moving Away from For Loops
  • Processing Values
The 'map' Helper
  • The Map Helper
  • Map Helper Continued
  • Where Map Is Used
  • Plucking Values
  • Calculating Values with Map
  • Really Hard - Implementing 'Pluck'
The 'filter' Helper
  • Selecting Needed Data with Filter
  • More on Filtering
  • Choosing When to Filter
  • Filtering Values
  • Handling Permissions with Filter
  • Challenging! Implementing 'reject'.
The 'find' Helper
  • Querying For Records with Find
  • Find Continued
  • Using Find to Search for Users
  • Finding Admin Users
  • What's Your Balance?
  • Really Challenging: Custom findWhere Helper
The 'every' and 'some' Helper
  • A Little Every and a Lot of Some
  • More on Every and Some
  • Every and Some Syntax
  • Every and Some in Practice
  • Finding Submitted Users
  • In Progress Network Requests
The 'reduce' Helper
  • Condensing Lists with Reduce
  • A Touch More of Reduce
  • Ace Your Next Interview with Reduce
  • Distance Traveled
  • Reducing Properties
  • Hardmode: Custom 'Unique' Helper
Const/Let
  • Variable Declarations with Const and Let
  • What Const and Let Solve
  • A Constant Exercise of Letting Variables Be Variables
  • Const/Let Refactoring
Template Strings
  • Template Strings
  • When to Reach for Template Strings
  • Template Strings in Practice
  • Name Helpers
Arrow Functions
  • Fat Arrow Functions
  • Advanced Use of Arrow Functions
  • When to Use Arrow Functions
  • When to Use Arrow Functions Continued
  • Refactoring Keyword Functions
  • Arrow Functions Aren't Always a Solution
Enhanced Object Literals
  • Enhanced Object Literals
  • Wondering When to Use Enhanced Literals?
  • Multiple Properties with Enhanced Notation
  • Condensing Code with Enhanced Literals
  • Literals in Functions
  • Refactor to use enhanced literal notation
Default Function Arguments
  • Specifying Default Function Arguments
  • Use Cases of Defaulting Arguments
  • Using Default Arguments
  • Dumping Unused Code
Rest and Spread Operator
  • Capturing Arguments with Rest and Spread
  • The Rest on Rest and Spread
  • Look to Use Rest and Spread in This Case
  • Many, Many Arguments
  • Spreadin' Arrays
  • Mixing Rest and Spread
Destructuring
  • Goldmine of ES6: Destructuring
  • Destructuring Arguments Object
  • Destructuring Arrays
  • Destructuring Arrays and Objects *At the Same Time*
  • So...When to Use Destructuring?
  • More on When to Use Destructuring
  • Destructuring in Practice
  • Array Destructuring in Practice
  • Recursion with Destructuring
Classes
  • Introduction to Classes
  • Prototypal Inheritance
  • Refactoring with Classes
  • Extending Behavior of Classes
  • When to Use Classes
  • Game Classes
  • Subclassing Monsters