Introduction
  • Why You Should Take This Course
  • Why JavaScript is Amazing
  • Setting up Your Environment
  • Course Files
JavaScript Basics
  • Adding JavaScript to a Web Page
  • The Browser Console
  • Variables, Constants & Comments
  • Data Types at a Glance
  • Strings
  • Common String Methods
  • Numbers
  • Template Strings
  • Arrays
  • Null & Undefined
  • Booleans & Comparisons
  • Loose vs Strict Comparison
  • Type Conversion
Control Flow Basics
  • What is Control Flow?
  • For Loops
  • While Loops
  • Do While Loops
  • If Statements
  • Else & Else If
  • Logical Operators
  • Logical NOT
  • Break & Continue
  • Switch Statements
  • Variables & Block Scope
Functions & Methods
  • What are Functions?
  • Function Declarations & Expressions
  • Arguments & Parameters
  • Returning Values
  • Arrow Functions
  • Functions vs Methods
  • Foreach Method & Callbacks
  • Callback Functions in Action
Object Literals
  • Objects at a Glance
  • Creating an Object Literal
  • Adding Methods
  • 'this' Keyword
  • Objects in Arrays
  • Math Object
  • Primitive vs Reference Types
The Document Object Model
  • Interacting with the Browser
  • The DOM Explained
  • The Query Selector
  • Other Ways to Query the DOM
  • Adding & Changing Page Content
  • Getting & Setting Attributes
  • Changing CSS Styles
  • Adding & Removing Classes
  • Parents, Children & Siblings
  • Event Basics (click events)
  • Creating & Removing Elements
  • Event Bubbling (and delegation)
  • More DOM Events
  • Building a Popup
Forms & Form Events
  • Events Inside Forms
  • Submit Events
  • Regular Expressions
  • Testing RegEx Patterns
  • Basic Form Validation
  • Keyboard Events
Project - Interactive Ninja Quiz
  • Project Preview & Setup
  • Bootstrap Basics
  • HTML Template
  • Checking Answers
  • Showing the Score
  • The Window Object
  • Intervals & Animating the Score
Array Methods
  • Filter Method
  • Map Method
  • Reduce Method
  • Find Method
  • Sort Method
  • Chaining Array Methods
Project - Todo List
  • Project Preview and Setup
  • HTML & CSS Template
  • Adding Todos
  • Deleting Todos
  • Searching & Filtering Todos
Dates & Times
  • Dates & Times in JavaScript
  • Timestamps & Comparisons
  • Building a Digital Clock
  • Date-fns Library
Async JavaScript
  • What is Asynchronous JavaScript?
  • Async Code in Action
  • What are HTTP Requests?