When you enroll in this course, you'll also be enrolled in this Specialization.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate
There are 10 modules in this course
If you want to be a developer, the language to learn is JavaScript. It’s the engine of the web and if you know JavaScript, you can make software usable by everybody on any possible device.
However, navigating the JavaScript ecosystem today is harder than ever before. What exactly do you need to learn? And how do you learn it all? Where do you even begin?
Welcome to "JavaScript Deep Dive", a course designed to teach you JavaScript in the best way possible, so you can build amazing apps, master the language, and transform your career.
You’ll learn next-level JavaScript from the beginning, so that you later can adapt any JavaScript library or framework you want to learn (like React, Angular, Vue).
You’ll learn concepts essential to making any serious app or program, break through the hard parts of the language, all while working through fun coding challenges to practice all of these concepts. And to top it off, you’ll solidify your learning by a building practical, real-world app.
Let's take a look at variables in JS.
What's included
1 assignment13 plugins
Show info about module content
1 assignment•Total 15 minutes
Variables Graded Assignment•15 minutes
13 plugins•Total 74 minutes
Welcome to interactive lessons!•1 minute
Start Using JavaScript•4 minutes
Module Intro: Variables & Strings•1 minute
Variable Basics with var•7 minutes
Challenge: Variable Basics•2 minutes
Better Code with Strict Mode•10 minutes
Why Use let & const Over var•5 minutes
Challenge: const & let•2 minutes
How Const Improves Your Code•7 minutes
Why Block Scoping Matters•7 minutes
How Template Literals Improve Strings•11 minutes
Challenge: Template Literals•10 minutes
How Variables Should Be Named•7 minutes
Types and Conditionals
Module 2•1 hour to complete
Module details
Get to grips with types and conditionals.
What's included
1 assignment9 plugins
Show info about module content
1 assignment•Total 15 minutes
Types & Conditionals Graded Assignment•15 minutes
9 plugins•Total 67 minutes
Module Intro: Types & Conditionals•1 minute
Conditionally Run JavaScript Code•11 minutes
Challenge: Your First Conditional•4 minutes
Types and How They Can Be Changed•16 minutes
Challenge: Types•4 minutes
How to Shorten Conditionals with Ternaries•13 minutes
Challenge: Ternaries•3 minutes
Even Shorter Conditionals with Short-Circuiting•11 minutes
Challenge: Short-Circuiting•4 minutes
Functions
Module 3•1 hour to complete
Module details
Discover the power of functions.
What's included
1 assignment10 plugins
Show info about module content
1 assignment•Total 15 minutes
Functions Graded Assignment•15 minutes
10 plugins•Total 73 minutes
Intro: Functions•1 minute
Why We Need Functions•14 minutes
Challenge: Your First Function•2 minutes
What is a Closure and Why it Matters•11 minutes
Challenge: Count Downwards Using Closure•3 minutes
Better Functions with Default Parameters•7 minutes
Shorter Functions with Arrow Functions•12 minutes
Challenge: Arrow Functions•3 minutes
Partial Application for Single-Responsibility Functions•14 minutes
How Functions Should Be Named•6 minutes
Objects and Maps
Module 4•2 hours to complete
Module details
In this module, you will learn about objects and maps.
What's included
1 assignment11 plugins
Show info about module content
1 assignment•Total 15 minutes
Objects & Maps Graded Assignment•15 minutes
11 plugins•Total 89 minutes
Module Intro: Objects & Maps•1 minute
Use Objects for Managing Key-Value Pairs•13 minutes
Challenge: Your First Object•3 minutes
Understand Primitive vs Object Types•8 minutes
Get and Modify Object Data•13 minutes
Easy Property Access with Destructuring•10 minutes
Challenge: Object Destructuring•3 minutes
Merge Objects with Object Spread•11 minutes
How Maps Can Do What Objects Can't•13 minutes
Challenge: Your First Map•2 minutes
Improve Methods with Arrow Functions•12 minutes
Arrays and Sets
Module 5•2 hours to complete
Module details
It's time to take a look at arrays and sets.
What's included
1 assignment17 plugins
Show info about module content
1 assignment•Total 15 minutes
Arrays & Sets Graded Assignment•15 minutes
17 plugins•Total 124 minutes
Module Intro: Arrays•1 minute
Build Flexible Collections with Arrays•8 minutes
Challenge: Your First Array•3 minutes
Check Element Existence in Arrays•11 minutes
Challenge: .some and .every•3 minutes
Perform Actions on All Elements•10 minutes
Get Subsets of Arrays•8 minutes
Transform Arrays with .reduce()•8 minutes
Challenge: Transform Arrays with .reduce()•3 minutes
Understand the Power of .reduce()•9 minutes
Avoid Mutations with Array Spread•7 minutes
Mold Arrays with the Spread Operator•13 minutes
More Flexible Arrays with Destructuring•10 minutes
Challenge: Array Destructuring•4 minutes
Turn Objects into Flexible Arrays•16 minutes
Get Unique Sets of Data•7 minutes
Use New, Immutable Array Features•3 minutes
Classes
Module 6•1 hour to complete
Module details
Next, we'll look at classes.
What's included
1 assignment9 plugins
Show info about module content
1 assignment•Total 15 minutes
Classes Graded Assignment•15 minutes
9 plugins•Total 67 minutes
Module Intro: Classes•1 minute
What Are Constructor Functions?•11 minutes
Challenge: Your First Constructor Function•4 minutes
Understand the Prototype Chain•7 minutes
Easy Prototypal Inheritance with Classes•8 minutes
Challenge: Your First Class•5 minutes
Share Class Features with Extends•11 minutes
How To Get, Set and Simplify Classes•10 minutes
Fix Context Problems with .bind()•10 minutes
The DOM
Module 7•1 hour to complete
Module details
In this module, you will learn how to work with the DOM to make websites interactive.
What's included
1 assignment8 plugins
Show info about module content
1 assignment•Total 15 minutes
DOM Graded Assignment•15 minutes
8 plugins•Total 33 minutes
Intro: the DOM•1 minute
What is the DOM?•6 minutes
Get Single and Multiple Elements•5 minutes
Creating and Modifying HTML Elements•3 minutes
Challenge: Creating and Modifying HTML Elements•3 minutes
Dynamically Add CSS Styles•3 minutes
Understand and Work with Events•9 minutes
Challenge: Events•3 minutes
Asynchronous JavaScript
Module 8•1 hour to complete
Module details
In this module, we'll cover how to run asynchronous operations in JavaScript.
What's included
1 assignment8 plugins
Show info about module content
1 assignment•Total 15 minutes
Async JavaScript Graded Assignment•15 minutes
8 plugins•Total 65 minutes
Intro: Async JavaScript•1 minute
The Problem with Callbacks•6 minutes
Fix Callback Hell with Promises•13 minutes
Make Network Requests with fetch()•19 minutes
Challenge: Fetch API•3 minutes
Dead-Simple Promises with async-await•10 minutes
Catch Errors with async-await•10 minutes
Challenge: async-await•3 minutes
More Essential JavaScript Concepts
Module 9•2 hours to complete
Module details
In this module, you will learn some essential concepts to level up your project-building skills.
Scrimba is an interactive code-learning platform with over a million users from all over the world. They feature highly interactive and engaging courses about programming and web development.
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Learner reviews
4.6
23 reviews
5 stars
82.60%
4 stars
4.34%
3 stars
4.34%
2 stars
4.34%
1 star
4.34%
Showing 3 of 23
T
TO
5·
Reviewed on Oct 2, 2023
If you really want to become a JavaScript programmer, you can't afford to miss this eye-opening course.
J
JA
5·
Reviewed on Feb 17, 2025
Advanced topics are concisely simplified. Really recommended it for its easy to understand explanation on different complex and hard to grasp ideas about JavaScript.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.