Types & Conditionals Quiz
Module Intro: Variables & Strings
Challenge: Variable Basics
Better Code with Strict Mode
Why Use let & const Over var
How Const Improves Your Code
Why Block Scoping Matters
How Template Literals Improve Strings
Challenge: Template Literals
How Variables Should Be Named
Module Intro: Types & Conditionals
Conditionally Run JavaScript Code
Challenge: Your First Conditional
Types and How They Can Be Changed
How to Shorten Conditionals with Ternaries
Even Shorter Conditionals with Short-Circuiting
Challenge: Short-Circuiting
Challenge: Your First Function
What is a Closure and Why it Matters
Challenge: Count Downwards Using Closure
Better Functions with Default Parameters
Shorter Functions with Arrow Functions
Challenge: Arrow Functions
Partial Application for Single-Responsibility Functions
How Functions Should Be Named
Module Intro: Objects & Maps
Use Objects for Managing Key-Value Pairs
Challenge: Your First Object
Understand Primitive vs Object Types
Get and Modify Object Data
Easy Property Access with Destructuring
Challenge: Object Destructuring
Merge Objects with Object Spread
How Maps Can Do What Objects Can't
Challenge: Your First Map
Improve Methods with Arrow Functions
Build Flexible Collections with Arrays
Challenge: Your First Array
Check Element Existence in Arrays
Challenge: .some and .every
Perform Actions on All Elements
Transform Arrays with .reduce()
Challenge: Transform Arrays with .reduce()
Understand the Power of .reduce()
Avoid Mutations with Array Spread
Mold Arrays with the Spread Operator
More Flexible Arrays with Destructuring
Challenge: Array Destructuring
Turn Objects into Flexible Arrays
Use New Immutable Array Features
What Are Constructor Functions?
Challenge: Your First Constructor Function
Understand the Prototype Chain
Easy Prototypal Inheritance with Classes
Challenge: Your First Class
Share Class Features with Extends
How To Get Set and Simplify Classes
Fix Context Problems with .bind()
Get Single and Multiple Elements
Creating and Modifying HTML Elements
Challenge: Creating and Modifying HTML Elements
Dynamically Add CSS Styles
Understand and Work with Events
The Problem with Callbacks
Fix Callback Hell with Promises
Make Network Requests with fetch()
Dead-Simple Promises with async-await
Catch Errors with async-await
Google Keep - Project Setup
Google Keep - Expanding and Closing Notes
Google Keep - Storing Notes in the App
Google Keep - Displaying Notes in the App
Google Keep - Improving Functionality
Google Keep - Editing Notes
Google Keep - Changing Note Color
Google Keep - Deleting Notes
Google Keep - Storing Notes in the Browser
Intro: Essential Concepts
Share App Code with Modules
Know What 'this' is at Any Time
Understand State and State Management
How Reducers Help Manage State
Avoid Imperative Write Declarative Code
Hacker News - Creating HTML and CSS
Hacker News - Adding Pages
Hacker News - Requesting Data from API Endpoint
Hacker News - Formatting Stories
Hacker News - Creating Separate Pages for Stories
Hacker News - Formatting Comments
Hacker News - Building a Store
Hacker News - Toggling Stories in and out of Favorites
Hacker News - Building the Favorites Page