JavaScript Fundamentals: From Syntax to Async

Learn JavaScript from variables and functions to the DOM, classes, promises and modules. For beginners starting web development.

Start course →

What you'll learn

  • Use variables, types, operators, control flow and functions correctly.
  • Work with arrays, objects, strings, destructuring and spread.
  • Explain scope, closures, prototypes and classes.
  • Select and change the DOM and handle events and errors.
  • Write asynchronous code with promises, async/await and fetch, and organize code with modules.

Syllabus

Module 1: Getting Started

  1. What is JavaScript?
  2. Adding JS to HTML
  3. The Console

Module 2: Basics

  1. Variables: let, const, var
  2. Data Types
  3. Type Conversion & Coercion
  4. Operators

Module 3: Control Flow

  1. Conditionals: if/else & switch
  2. Loops

Module 4: Functions

  1. Declarations vs Expressions
  2. Arrow Functions
  3. Parameters & First-Class Functions

Module 5: Arrays

  1. Array Basics & Indexing
  2. Array Methods: push, pop, slice, splice
  3. Iteration: map, filter, reduce, forEach
  4. Searching & Sorting Arrays

Module 6: Objects

  1. Object Literals & Properties
  2. Object Methods & this
  3. Spread & Rest with Objects
  4. Destructuring Arrays & Objects

Module 7: Strings & Templates

  1. String Methods
  2. Template Literals

Module 8: Scope & Closures

  1. Scope & Hoisting
  2. Closures

Module 9: The DOM

  1. Selecting DOM Elements
  2. Manipulating Content, Attributes & Elements
  3. Event Listeners & Bubbling

Module 10: Error Handling

  1. try/catch & Custom Errors

Module 11: OOP in JS

  1. Classes & Constructors
  2. Inheritance with extends
  3. Prototypes

Module 12: Asynchronous JS

  1. Callbacks & Callback Hell
  2. Promises
  3. async/await & the Fetch API

Module 13: Modules

  1. ES6 Modules: import & export

Module 14: Browser APIs

  1. localStorage & sessionStorage
  2. setTimeout & setInterval

Module 15: Data Structures

  1. Set and Map

Module 16: Misc

  1. JSON, Regex & the Event Loop
  2. Modern Syntax: Optional Chaining & More