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
- What is JavaScript?
- Adding JS to HTML
- The Console
Module 2: Basics
- Variables: let, const, var
- Data Types
- Type Conversion & Coercion
- Operators
Module 3: Control Flow
- Conditionals: if/else & switch
- Loops
Module 4: Functions
- Declarations vs Expressions
- Arrow Functions
- Parameters & First-Class Functions
Module 5: Arrays
- Array Basics & Indexing
- Array Methods: push, pop, slice, splice
- Iteration: map, filter, reduce, forEach
- Searching & Sorting Arrays
Module 6: Objects
- Object Literals & Properties
- Object Methods & this
- Spread & Rest with Objects
- Destructuring Arrays & Objects
Module 7: Strings & Templates
- String Methods
- Template Literals
Module 8: Scope & Closures
- Scope & Hoisting
- Closures
Module 9: The DOM
- Selecting DOM Elements
- Manipulating Content, Attributes & Elements
- Event Listeners & Bubbling
Module 10: Error Handling
- try/catch & Custom Errors
Module 11: OOP in JS
- Classes & Constructors
- Inheritance with extends
- Prototypes
Module 12: Asynchronous JS
- Callbacks & Callback Hell
- Promises
- async/await & the Fetch API
Module 13: Modules
- ES6 Modules: import & export
Module 14: Browser APIs
- localStorage & sessionStorage
- setTimeout & setInterval
Module 15: Data Structures
- Set and Map
Module 16: Misc
- JSON, Regex & the Event Loop
- Modern Syntax: Optional Chaining & More