Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Frontend Masters

Deep JavaScript Foundations, v3

via Frontend Masters

Overview

Dive into the core pillars of the JavaScript language with Kyle Simpson, author of the popular, You Don't Know JS, book series. You'll learn JavaScript's types, how to convert between them, and compare them with == and ===. You'll also learn lexical scope and closure. As well as the objects oriented system (this, prototypes and classes).

Syllabus

  • Introduction
  • Understanding Your Code
  • Course Overview
  • Primitive Types
  • typeof Operator
  • BigInt
  • Kinds of Emptiness
  • NaN & isNaN
  • Negative Zero
  • Type Check Exercise
  • Type Check Exercise Solution
  • Fundamental Objects
  • Abstract Operations
  • toString
  • toNumber
  • toBoolean
  • Cases of Coercion
  • Boxing
  • Corner Cases of Coercion
  • Intentional Coercion
  • Culture of Learning
  • Code Communication Q&A
  • Implicit Coercion
  • Understanding Features
  • Coercion Exercise
  • Coercion Exercise Solution
  • Double & Triple Equals
  • Coercive Equality
  • Double Equals Algorithm
  • Double Equals Walkthrough
  • Double Equals Summary
  • Double Equals Corner Cases
  • Corner Cases: Booleans
  • Corner Cases: Summary
  • The Case for Double Equals
  • Equality Exercise
  • Equality Exercise Solution
  • TypeScript & Flow
  • Inferencing
  • Custom Types
  • Validating Operand Types
  • TypeScript & Flow Summary
  • Static Typing Pros
  • Static Typing Cons
  • Understanding Your Types
  • Scope
  • Compilation & Scope
  • Executing Code
  • Compilation and Scope Q&A
  • Code Execution: Finishing Up
  • Lexical Scope Review
  • Compilation Review
  • Dynamic Global Variables
  • Strict Mode
  • Nested Scope
  • Undefined vs Undeclared
  • Lexical Scope Elevator
  • Function Expressions
  • Naming Function Expressions
  • Arrow Functions
  • Function Types Hierarchy
  • Function Expression Exercise
  • Function Expression Solution: Functions
  • Function Expression Solution: Arrow Functions
  • Lexical & Dynamic Scope
  • Lexical Scope
  • Dynamic Scope
  • Function Scoping
  • IIFE Pattern
  • Block Scoping
  • Choosing let or var
  • Explicit let Block
  • const
  • const Q&A
  • Hoisting
  • Hoisting Example
  • let Doesn't Hoist
  • Hoisting Exercise
  • Hoisting Exercise Solution
  • Origin of Closure
  • What is Closure?
  • Closing Over Variables
  • Module Pattern
  • ES6 Modules & Node.js
  • ES6 Module Syntax
  • Module Exercise
  • Module Exercise Solution
  • Objects Overview
  • The this Keyword
  • Implicit & Explicit Binding
  • The new Keyword
  • Default Binding
  • Binding Precedence
  • Arrow Functions & Lexical this
  • Resolving this in Arrow Functions
  • this Exercise
  • this Exercise Solution
  • ES6 class Keyword
  • Fixing this in Classes
  • class Exercise
  • class Exercise Solution
  • Prototypes
  • Prototypal Class
  • The Prototype Chain
  • Dunder Prototypes
  • this & prototypes Q&A
  • Shadowing Prototypes
  • Prototypal Inheritance
  • Classical vs Prototypal Inheritance
  • Inheritance is Delegation
  • OLOO Pattern
  • Delegation-Oriented Design
  • Wrapping Up
  • Bonus: Typl

Taught by

Kyle Simpson

Reviews

Start your review of Deep JavaScript Foundations, v3

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.