NEW - Hands-On: Data Structures & Algorithms in C# — Free to enroll for 7 days! Enroll now →

Hands-On: Learn JavaScript

Learn JavaScript from scratch by completing practical exercises and writing real JavaScript code.

About This Course

Learning JavaScript by just reading about it is not enough. You need to get your hands dirty and write real code to solve real-world problems. In this 20+ hour course, you will complete hundreds of hands-on exercises using Dometrain’s state-of-the-art web Code Editor, starting from the fundamentals and progressing to intermediate and advanced JavaScript features. This course assumes you have a basic understanding of programming, but do not yet know JavaScript. At Dometrain, our goal is to be the best place for developers to learn programming languages and concepts from scratch. We are offering this course at no cost for 14 days so you can try it and see if it's for you. Whether you are just getting started or looking to strengthen your skills, you can take this course to ensure your JavaScript knowledge is up to date.

Course Curriculum

16h 58m 29 sections
Hello World
05:00
Printing Multiple Lines
05:00
Comments
05:00
Basic Arithmetic Output
05:00
String Concatenation
05:00
Chapter Capstone - Formatted Receipt
05:00
Declaring Variables with let
05:00
Constants with const
05:00
Number Type
05:00
String Type
05:00
Boolean Type
05:00
Undefined and Null
05:00
The typeof Operator
05:00
Chapter Capstone - Type Reporter
05:00
Arithmetic Operators
05:00
Assignment Operators
05:00
Comparison Operators
05:00
Strict vs Loose Equality
05:00
Logical Operators
05:00
Ternary Operator
05:00
Nullish Coalescing Operator
05:00
Chapter Capstone - Expression Evaluator
05:00
String Length and Character Access
05:00
Changing Case
05:00
Trimming and Padding
05:00
Searching Strings
05:00
Extracting Substrings
05:00
Replacing Text
05:00
Template Literals
05:00
Chapter Capstone - String Processor
05:00
If Statements
05:00
If-Else Statements
05:00
Else-If Chains
05:00
Switch Statements
05:00
Truthy and Falsy Values
05:00
Nested Conditionals
05:00
Chapter Capstone - Ticket Pricer
05:00
While Loops
05:00
For Loops
05:00
Do-While Loops
05:00
Break and Continue
05:00
Nested Loops
05:00
Looping Through Strings
05:00
Chapter Capstone - Number Pattern
05:00
Function Declarations
05:00
Parameters and Return Values
05:00
Multiple Parameters
05:00
Default Parameters
05:00
Early Return Pattern
05:00
Scope Basics
05:00
Chapter Capstone - Math Toolkit
05:00
Function Expressions
05:00
Arrow Functions
05:00
Arrow Functions with Implicit Return
05:00
Rest Parameters
05:00
Closures
05:00
IIFE Pattern
05:00
Chapter Capstone - Function Toolkit
05:00
Creating and Accessing Arrays
05:00
Modifying Array Elements
05:00
Array Length and Iteration
05:00
for...of Loop
05:00
Push, Pop, Shift, Unshift
05:00
Splice and Slice
05:00
Searching Arrays
05:00
Chapter Capstone - Array Manager
05:00
forEach
05:00
map
05:00
filter
05:00
find and findIndex
05:00
some and every
05:00
reduce
05:00
Chaining Array Methods
05:00
Chapter Capstone - Data Pipeline
05:00
Sorting with Custom Comparators
05:00
flat and flatMap
05:00
Array.from and Array.of
05:00
Spread Operator with Arrays
05:00
Array Destructuring
05:00
Immutable Array Methods
05:00
Chapter Capstone - Nested Data Processor
05:00
Creating Objects
05:00
Accessing Properties
05:00
Adding and Deleting Properties
05:00
Computed Property Names
05:00
Shorthand Properties and Methods
05:00
Checking Property Existence
05:00
Chapter Capstone - Contact Card Builder
05:00
Object.keys, Object.values, Object.entries
05:00
Iterating with for...in
05:00
Object Spread and Object.assign
05:00
Object Destructuring
05:00
Nested Object Destructuring
05:00
Optional Chaining
05:00
JSON Parse and Stringify
05:00
Chapter Capstone - Data Merger
05:00
Creating and Using Maps
05:00
Map Iteration
05:00
Creating and Using Sets
05:00
Set Operations
05:00
Converting Between Collections
05:00
Map vs Object
05:00
Chapter Capstone - Word Frequency Analyzer
05:00
Deep Nested Destructuring
05:00
Default Values in Destructuring
05:00
Rest in Destructuring
05:00
Swapping Variables
05:00
Function Parameter Destructuring
05:00
Chapter Capstone - Config Merger
05:00
The this Keyword
05:00
this in Arrow vs Regular Functions
05:00
call and apply
05:00
bind
05:00
Constructor Functions
05:00
Prototypes and Prototype Chain
05:00
Chapter Capstone - Shape Factory
05:00
Class Declarations
05:00
Constructor and Instance Properties
05:00
Instance Methods
05:00
Getters and Setters
05:00
Static Methods and Properties
05:00
Private Fields
05:00
Chapter Capstone - Bank Account System
05:00
Extends and Super
05:00
Method Overriding
05:00
Calling Parent Methods with super
05:00
The instanceof Operator
05:00
Composition Over Inheritance
05:00
Chapter Capstone - Vehicle Hierarchy
05:00
Try-Catch Basics
05:00
The Error Object
05:00
Throwing Custom Errors
05:00
Custom Error Classes
05:00
The Finally Block
05:00
Chapter Capstone - Safe Parser
05:00
Callbacks
05:00
Higher-Order Functions
05:00
Recursion
05:00
Function Composition
05:00
Currying
05:00
Memoization
05:00
Chapter Capstone - Function Toolkit
05:00
Creating Promises
05:00
then and catch
05:00
Promise Chaining
05:00
Promise.all
05:00
Promise.race and Promise.any
05:00
Promise.allSettled
05:00
Chapter Capstone - Async Task Coordinator
05:00
Async Functions
05:00
Await Keyword
05:00
Error Handling with Async/Await
05:00
Sequential vs Parallel Execution
05:00
Async Utility Functions
05:00
Chapter Capstone - Async Data Processor
05:00
The Iterator Protocol
05:00
Custom Iterables
05:00
Generator Functions
05:00
yield and Delegation with yield*
05:00
Lazy Evaluation with Generators
05:00
Chapter Capstone - Range Iterator
05:00
Creating and Using Symbols
05:00
Well-Known Symbols - Symbol.iterator
05:00
Symbol.toPrimitive
05:00
WeakMap
05:00
WeakSet
05:00
Chapter Capstone - Custom Collection
10:00
Creating a Basic Proxy
05:00
Get and Set Traps
10:00
Has and DeleteProperty Traps
07:30
The Apply Trap
05:00
Reflect API
05:00
Chapter Capstone - Validation Proxy
05:00
Creating Patterns and Basic Matching
05:00
Character Classes and Quantifiers
05:00
Anchors and Boundaries
05:00
Groups and Capturing
05:00
Lookahead and Lookbehind
05:00
Named Groups and matchAll
05:00
Chapter Capstone - Input Validator
10:00
Pure Functions
05:00
Immutability Patterns
05:00
Function Composition and Piping
05:00
Partial Application
05:00
Transducers
05:00
Chapter Capstone - Data Transform Pipeline
10:00
Property Descriptors
05:00
Object.defineProperty
05:00
Object.freeze and Object.seal
05:00
Object.preventExtensions
05:00
Dynamic Property Access Patterns
05:00
Chapter Capstone - Observable Object
05:00
Object.groupBy
05:00
Built-in Set Methods
05:00
Iterator Helpers
05:00
structuredClone
05:00
Promise.withResolvers
05:00
Object.fromEntries Advanced
05:00
Chapter Capstone - Modern Toolkit
05:00

Meet Your Instructor

Nick Chapsas

Nick Chapsas

Nick Chapsas is a .NET & C# content creator, educator and a Microsoft MVP for Developer Technologies with years of experience in Software Engineering and Engineering Management.

He has worked for some of the biggest companies in the world, building systems that served millions of users and tens of thousands of requests per second.

Nick creates free content on YouTube and is the host of the Keep Coding Podcast.

View all courses by Nick Chapsas

What's New

Hands-On: Learn TypeScript
course

Hands-On: Learn TypeScript

Learn TypeScript through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

Learn more about Hands-On: Learn TypeScript
Hands-On: Learn JavaScript
course

Hands-On: Learn JavaScript

Learn JavaScript through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

Learn more about Hands-On: Learn JavaScript
Hands-On: Data Structures & Algorithms in C#
course

Hands-On: Data Structures & Algorithms in C#

Master data structures and algorithms through hands-on coding exercises in C#. Free to enroll for 7 days!

Learn more about Hands-On: Data Structures & Algorithms in C#
Blogsmith.ai
feature

Blogsmith.ai

Turn your videos into blogs and newsletters with AI. Check out our new product at blogsmith.ai.

Learn more about Blogsmith.ai
Leaderboard
feature

Leaderboard

See how you stack up against other learners. Track your progress, climb the ranks, and compete with the Dometrain community.

Learn more about Leaderboard
Hands-On: Learn PostgreSQL
course

Hands-On: Learn PostgreSQL

Learn PostgreSQL through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

Learn more about Hands-On: Learn PostgreSQL
Free Hands-On: C# for Beginners
course

Free Hands-On: C# for Beginners

Learn C# through hands-on coding exercises. Practice what you learn with interactive challenges designed for everyone, from beginners to experts.

Learn more about Free Hands-On: C# for Beginners
Getting Started: AI for .NET Developers
course

Getting Started: AI for .NET Developers

Get started with integrating AI into your .NET applications effectively using the latest LLM best practices.

Learn more about Getting Started: AI for .NET Developers
Getting Started: Building .NET Applications on AWS
course

Getting Started: Building .NET Applications on AWS

Learn how to build and deploy .NET applications on AWS using CDK, Lambda, DynamoDB, S3, and more.

Learn more about Getting Started: Building .NET Applications on AWS
What's new in C# 14
blog

What's new in C# 14

This guide covers every new C# 14 feature, explains its benefits, and provides practical code examples to help you navigate how you can use them.

Learn more about What's new in C# 14
Let's Build It: AI Chatbot with RAG in .NET Using Your Data
course

Let's Build It: AI Chatbot with RAG in .NET Using Your Data

Build a Retrieval-Augmented Generation (RAG) chatbot that can answer questions using your data.

Learn more about Let's Build It: AI Chatbot with RAG in .NET Using Your Data
From Zero to Hero: SignalR in .NET
course

From Zero to Hero: SignalR in .NET

Enable enterprise-grade real-time communication for your web apps with SignalR.

Learn more about From Zero to Hero: SignalR in .NET
Deep Dive: Solution Architecture
course

Deep Dive: Solution Architecture

Master solution architecture and turn business needs into scalable, maintainable systems.

Learn more about Deep Dive: Solution Architecture
Migrating: ASP.NET Web APIs to ASP.NET Core
course

Migrating: ASP.NET Web APIs to ASP.NET Core

A step-by-step process to migrate ASP.NET Web APIs from .NET Framework to ASP.NET Core.

Learn more about Migrating: ASP.NET Web APIs to ASP.NET Core
Getting Started: Caching in .NET
course

Getting Started: Caching in .NET

Let's make the hardest thing in programming easy for .NET software engineers.

Learn more about Getting Started: Caching in .NET
From Zero to Hero: Testing with xUnit in C#
course

From Zero to Hero: Testing with xUnit in C#

Learn how to test any codebase in .NET with the latest version of xUnit, the industry-standard testing library.

Learn more about From Zero to Hero: Testing with xUnit in C#
Create a ChatGPT Console AI Chatbot in C#
blog

Create a ChatGPT Console AI Chatbot in C#

This walkthrough is your hands-on entry point to create a basic C# console application that talks to ChatGPT using the OpenAI API.

Learn more about Create a ChatGPT Console AI Chatbot in C#