Free course

JavaScript Course

Learn JavaScript fundamentals, arrays, objects, functions, modules, asynchronous code, and browser interactivity from the ground up.

9 modules · 66 lessons · No signup

Prerequisites: HTML

~~~

Your progress

of lessons completed.

Course completed.

What you'll learn

Write small JavaScript programs and add useful interactions to web pages.

Course contents

  1. Start running JavaScript

    Run code, read statements, and understand errors.

    1. Introduction to the JavaScript Programming Language
    2. JavaScript Statements
    3. The definitive guide to debugging JavaScript
  2. Values and variables

    Store values and combine them with operators and expressions.

    1. JavaScript Types
    2. JavaScript Variables
    3. Let vs Const in JavaScript
    4. null vs undefined in JavaScript: the difference
    5. The JavaScript Arithmetic operators
    6. JavaScript Comparison Operators
    7. JavaScript Equality Operators
    8. JavaScript Type Conversions (casting)
    9. A guide to JavaScript Template Literals
    10. Check your understanding: values and types
  3. Decisions and repetition

    Use conditions and loops to control program execution.

    1. The JavaScript if/else conditional
    2. The JavaScript Switch Conditional
    3. JavaScript Logical Operators
    4. JavaScript Ternary Operator
    5. JavaScript Loops
    6. The JavaScript for..of loop
    7. What are the ways we can break out of a loop in JavaScript?
  4. Arrays

    Store, transform, search, and iterate ordered data.

    1. An introduction to JavaScript Arrays
    2. Write JavaScript loops using map, filter, reduce and find
    3. JavaScript immutable array methods: toSorted(), toReversed(), toSpliced(), with()
    4. Destructuring Objects and Arrays in JavaScript
    5. The JavaScript Spread Operator
    6. How to write JavaScript sort comparators
  5. Objects

    Model named values, methods, references, and structured data.

    1. JavaScript Reference: Object
    2. JavaScript Object Properties
    3. Are values passed by reference or by value in JavaScript?
    4. JavaScript Optional Chaining
    5. The JavaScript map() Function
    6. The Set JavaScript Data Structure
    7. Check your understanding: objects and arrays
  6. Functions and scope

    Organize reusable behavior and understand lexical scope.

    1. JavaScript Functions
    2. JavaScript Function Parameters
    3. JavaScript Return Values
    4. A tutorial to JavaScript Arrow Functions
    5. JavaScript Scope
    6. JavaScript Closures explained
    7. What is hoisting in JavaScript?
    8. JavaScript Recursion
    9. Check your understanding: functions and closures
  7. Organizing programs

    Use modules, errors, built-ins, classes, and prototypes.

    1. JavaScript Error Objects
    2. JavaScript Exceptions
    3. Introduction to ES Modules
    4. How to dynamically import JavaScript modules
    5. How to use JavaScript Classes
    6. JavaScript Prototypal Inheritance
    7. this in JavaScript
    8. Check your understanding: this, prototypes, and classes
  8. Asynchronous JavaScript

    Work with promises, async functions, timers, and fetch.

    1. JavaScript Asynchronous Programming and Callbacks
    2. How to use promises in JavaScript
    3. How to use async/await in JavaScript
    4. The JavaScript Event Loop
    5. Discover JavaScript Timers
    6. Wait for all promises to resolve in JavaScript
    7. Check your understanding: asynchronous JavaScript
  9. JavaScript in the browser

    Work with the DOM, events, forms, and browser storage.

    1. The Document Object Model (DOM)
    2. JavaScript Events Explained
    3. Event bubbling and event capturing
    4. Event delegation in the browser using vanilla JavaScript
    5. How to style DOM elements using JavaScript
    6. The Fetch API
    7. The Web Storage API: local storage and session storage
    8. Custom events in JavaScript
    9. Build a small interactive page