https://www.udemy.com/javascript-es6-tutorial/learn/v4/content
- How to Take This Course
- ES6 vs ES2015
- Array Helper Methods - The Easiest Way to Write Better Code
- The forEach Helper
- forEach Continued
- Why Use forEach? Coding Exercise 1: Moving Away from For Loops Coding Exercise 2: Processing Values
- The Map Helper
- Map Helper Continued
- Where Map Is Used Coding Exercise 3: Plucking Values Coding Exercise 4: Calculating Values with Map Coding Exercise 5: Really Hard - Implementing 'Pluck'
- Selecting Needed Data with Filter
- More on Filtering
- Choosing When to Filter Coding Exercise 6: Filtering Values Coding Exercise 7: Handling Permissions with Filter Coding Exercise 8: Challenging! Implementing 'reject'.
- Querying For Records with Find
- Find Continued
- Using Find to Search for Users Coding Exercise 9: Finding Admin Users Coding Exercise 10: What's Your Balance? Coding Exercise 11: Really Challenging: Custom findWhere Helper
- A Little Every and a Lot of Some
- More on Every and Some
- Every and Some Syntax
- Every and Some in Practice Coding Exercise 12: Finding Submitted Users Coding Exercise 13: In Progress Network Requests
- Condensing Lists with Reduce
- A Touch More of Reduce
- Ace Your Next Interview with Reduce Coding Exercise 14: Distance Traveled Coding Exercise 15: Reducing Properties Coding Exercise 16: Hardmode: Custom 'Unique' Helper
- Variable Declarations with Const and Let
- What Const and Let Solve Coding Exercise 17: A Constant Exercise of Letting Variables Be Variables Coding Exercise 18: Const/Let Refactoring
- Template Strings
- When to Reach for Template Strings Coding Exercise 19: Template Strings in Practice Coding Exercise 20: Name Helpers
- Fat Arrow Functions
- Advanced Use of Arrow Functions
- When to Use Arrow Functions
- When to Use Arrow Functions Continued Coding Exercise 21: Refactoring Keyword Functions Coding Exercise 22: Arrow Functions Aren't Always a Solution
- Enhanced Object Literals
- Wondering When to Use Enhanced Literals? Coding Exercise 23: Multiple Properties with Enhanced Notation Coding Exercise 24: Condensing Code with Enhanced Literals Coding Exercise 25: Literals in Functions Coding Exercise 26: Refactor to use enhanced literal notation
- Specifying Default Function Arguments
- Use Cases of Defaulting Arguments Coding Exercise 27: Using Default Arguments Coding Exercise 28: Dumping Unused Code
- Capturing Arguments with Rest and Spread
- The Rest on Rest and Spread
- Look to Use Rest and Spread in This Case Coding Exercise 29: Many, Many Arguments Coding Exercise 30: Spreadin' Arrays Coding Exercise 31: Mixing Rest and Spread
- 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 Coding Exercise 32: Destructuring in Practice Coding Exercise 33: Array Destructuring in Practice Coding Exercise 34: Recursion with Destructuring
- Introduction to Classes
- Prototypal Inheritance
- Refactoring with Classes
- Extending Behavior of Classes
- When to Use Classes Coding Exercise 35: Game Classes Coding Exercise 36: Subclassing Monsters
- One Quick Thing: For...Of Loops
- Introduction to Generators
- Generators With a Short Story
- Another Step in Our Generator Story
- The Big Reveal on ES6 Generators
- A Practical Use of ES6 Generators
- Delegation of Generators
- Delegation of Generators Continued
- Symbol.Iterator with Generators
- Complexities of Symbol.Iterator
- Generators with Recursion
- More on Generators and Recursion
- Code Execution in Javascript
- Terminology of Promises
- Creating Promises
- Then and Catch
- Async Code with Promises
- Ajax Requests with Fetch
- Shortcomings of Fetch