JavaScript Essentials Course – Foundational JS Skills for New Developers Tutorial
Skills:
JavaScript Fundamentals90%
Learn JavaScript essentials with this course that covers everything from object-oriented programming fundamentals to advanced asynchronous techniques.
Course from Steven Garcia.
The GitHub repository for the finished files: https://github.com/stevenGarciaDev/JavaScript-Pro-Finished-Course
The GitHub repository for the starter files: https://github.com/stevenGarciaDev/JavaScript-Pro-Starter-Files
❤️ Try interactive JavaScript courses we love, right in your browser: https://scrimba.com/freeCodeCamp-JavaScript (Made possible by a grant from our friends at Scrimba)
Contents
Sections 1: Intro to Advanced Topics (17 minutes)
0:00:00 Intro
0:02:18 Why this course works for you?
0:06:25 Course Materials
0:12:06 Setting up the Development Environment
0:17:36 Social Media
Section 2: Objects (1 hour 22 minutes)
0:18:06 What is OOP?
0:20:06 Four Pillars of OOP
0:27:11 Object Literals
0:31:12 Factories
0:35:12 Constructors
0:39:44 Constructor Property
0:40:45 Functions are Objects
0:44:49 Value vs Reference Types
0:47:46 Adding or Removing Properties
0:51:44 Enumerating Properties
0:57:02 Abstraction
1:12:22 Private Properties and Methods
1:35:00 Getters and Setters
1:39:49 Summary
Section 3: Prototypes (55 minutes)
1:41:02 Inheritance
1:45:18 Prototypes and Prototypical Inheritance
2:03:33 Multilevel Inheritance
2:05:20 Property Descriptors
2:14:26 Constructor Prototypes
2:18:00 Prototype vs Instance Members
2:23:55 Iterating Instance and Prototype Members
2:28:41 Avoid Extending the Built-in Objects
2:32:43 Summary
Section 4: Prototypical Inheritance (54 minutes)
2:36:06 Creating Your Own Prototypical Inheritance
2:47:56 Resetting the Constructor
2:54:29 Calling the Super Constructor
2:59:44 Intermediate Function Inheritance
3:03:51 Method Overriding
3:08:34 Polymorphism
3:14:16 When to Use Inheritance
3:22:11 Mixins
3:28:22 Summary
Section 5: ES6 Classes (1 hour 10 minutes)
3:30:02 ES6 Classes
3:37:14 Hoisting
3:42:39 Static Methods
3:50:28 The "this" keyword
3:56:1
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from freeCodeCamp.org · freeCodeCamp.org · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
React: Production Server Setup Part 2 - Live Coding with Jesse
freeCodeCamp.org
cookies vs localStorage vs sessionStorage - Beau teaches JavaScript
freeCodeCamp.org
Browser history tutorial - Beau teaches JavaScript
freeCodeCamp.org
Graph Data Structure Intro (inc. adjacency list, adjacency matrix, incidence matrix)
freeCodeCamp.org
React: Parameterized Routing with Next.js - Live Coding with Jesse
freeCodeCamp.org
React: Dealing with jQuery Issues - Live Coding with Jesse
freeCodeCamp.org
setInterval and setTimeout: timing events - Beau teaches JavaScript
freeCodeCamp.org
Browser and Device Testing - Live Coding with Jesse
freeCodeCamp.org
Last Minute Updates - Live Coding with Jesse
freeCodeCamp.org
Post Launch Updates - Live Coding with Jesse
freeCodeCamp.org
React: Setting Up Google Analytics - Live Coding with Jesse
freeCodeCamp.org
React: Masonry Layout - Live Coding with Jesse
freeCodeCamp.org
Load Balancing Digital Ocean Droplets - Live Coding with Jesse
freeCodeCamp.org
try, catch, finally, throw - error handling in JavaScript
freeCodeCamp.org
Load Balancing: SSL Passthrough Setup - Live Coding with Jesse
freeCodeCamp.org
Graphs: breadth-first search - Beau teaches JavaScript
freeCodeCamp.org
React: Masonry Layout Part 2 - Live Coding with Jesse
freeCodeCamp.org
React: WordPress API Live Search - Live Coding with Jesse
freeCodeCamp.org
Creating WordPress Custom Post Types - Live Coding With Jesse
freeCodeCamp.org
Dates - Beau teaches JavaScript
freeCodeCamp.org
Miscellaneous Front End Updates - Live Coding with Jesse
freeCodeCamp.org
Merging a Pull Request from GitHub - Live Coding with Jesse
freeCodeCamp.org
React + Prettier + Standard JS - Live Coding with Jesse
freeCodeCamp.org
React: Sortable Responsive Table - Live Coding with Jesse
freeCodeCamp.org
Geolocation Sorting by Distance - Live Coding with Jesse
freeCodeCamp.org
Tradeoff Matrix - Agile Software Development
freeCodeCamp.org
The Definition of Ready - Agile Software Development
freeCodeCamp.org
Getting first React job without experience - Ask Preethi
freeCodeCamp.org
React: Google Analytics Click Tracking - Live Coding with Jesse
freeCodeCamp.org
Submitting a PR to an Open Source Project - Live Coding with Jesse
freeCodeCamp.org
Should I go back to school to get CS degree? - Ask Preethi
freeCodeCamp.org
Hero Section CSS Changes - Live Coding with Jesse
freeCodeCamp.org
Working Agreement - Agile Software Development
freeCodeCamp.org
A day at Pennybox with Co-Founder Reji Eapen
freeCodeCamp.org
React: Sorting and Filtering Data - Live Coding with Jesse
freeCodeCamp.org
React: Sorting and Filtering Data Part 2 - Live Coding with Jesse
freeCodeCamp.org
React: Building a New UI - Live Coding with Jesse
freeCodeCamp.org
Definition of Done - Agile Software Development
freeCodeCamp.org
Getting started with jQuery (tutorial) - Beau teaches JavaScript
freeCodeCamp.org
Making a React Blog with WordPress Content - Live Coding with Jesse
freeCodeCamp.org
React, NextJS, CSS - Live Coding with Jesse
freeCodeCamp.org
jQuery events - Beau teaches JavaScript
freeCodeCamp.org
React/NextJS Routing and WordPress API Custom Types - Live Coding with Jesse
freeCodeCamp.org
React: Working with API Data - Live Coding with Jesse
freeCodeCamp.org
React: Refactoring Components - Live Streaming with Jesse
freeCodeCamp.org
jQuery effects - Beau teaches JavaScript
freeCodeCamp.org
More React Refactoring - Live Coding with Jesse
freeCodeCamp.org
animate in jQuery - Beau teaches JavaScript
freeCodeCamp.org
"Finishing" My React Site - Live Coding with Jesse
freeCodeCamp.org
Starting a New React Project (P2D1) - Live Coding with Jesse
freeCodeCamp.org
React Project 2 Day 2: Learning Material UI - Live Coding with Jesse
freeCodeCamp.org
The Agile Manifesto - Agile Software Development
freeCodeCamp.org
jQuery: get and set with http, text, val, and attr - Beau teaches JavaScript
freeCodeCamp.org
React Project 2 Day 3 - Live Coding with Jesse
freeCodeCamp.org
The INVEST approach to product backlog items
freeCodeCamp.org
React Project 2 Day 4 - Live Coding with Jesse
freeCodeCamp.org
Chickens and Pigs - Agile Software Development
freeCodeCamp.org
React Project 2 Day 5 - Live Coding with Jesse
freeCodeCamp.org
jQuery: add and remove DOM elements - Beau teaches JavaScript
freeCodeCamp.org
React Project 2 Day 6 - Live Coding with Jesse
freeCodeCamp.org
More on: JavaScript Fundamentals
View skill →Related AI Lessons
⚡
⚡
⚡
⚡
Holy Typos, Batman! How I Built 'SpellJump'
Dev.to · Prakhar54-byte
Tutorial: This AI Now Tells You if a Meeting Could Be an Email
Dev.to · Andrew Dugan
ElevenLabs Review 2026: The Pros and Cons for Teams Buying AI Voice
Medium · AI
Export Your DeepSeek Chats to Word, PDF, Google Docs, Markdown & Notion in One Click
Dev.to AI
Chapters (41)
Intro
2:18
Why this course works for you?
6:25
Course Materials
12:06
Setting up the Development Environment
17:36
Social Media
18:06
What is OOP?
20:06
Four Pillars of OOP
27:11
Object Literals
31:12
Factories
35:12
Constructors
39:44
Constructor Property
40:45
Functions are Objects
44:49
Value vs Reference Types
47:46
Adding or Removing Properties
51:44
Enumerating Properties
57:02
Abstraction
1:12:22
Private Properties and Methods
1:35:00
Getters and Setters
1:39:49
Summary
1:41:02
Inheritance
1:45:18
Prototypes and Prototypical Inheritance
2:03:33
Multilevel Inheritance
2:05:20
Property Descriptors
2:14:26
Constructor Prototypes
2:18:00
Prototype vs Instance Members
2:23:55
Iterating Instance and Prototype Members
2:28:41
Avoid Extending the Built-in Objects
2:32:43
Summary
2:36:06
Creating Your Own Prototypical Inheritance
2:47:56
Resetting the Constructor
2:54:29
Calling the Super Constructor
2:59:44
Intermediate Function Inheritance
3:03:51
Method Overriding
3:08:34
Polymorphism
3:14:16
When to Use Inheritance
3:22:11
Mixins
3:28:22
Summary
3:30:02
ES6 Classes
3:37:14
Hoisting
3:42:39
Static Methods
3:50:28
The "this" keyword
🎓
Tutor Explanation
DeepCamp AI