Mô tả

*** The #1 bestselling JavaScript course on Udemy! ***

*** Just updated for latest ES2022 features ***

"Really, really well made course. Super in-depth, with great challenges and projects that will solidify your Javascript understanding. I found the lectures were paced perfectly -- Jonas doesn't skip over anything that might be useful to a JS developer" — Carson Bartholomew


JavaScript is the most popular programming language in the world. It powers the entire modern web. It provides millions of high-paying jobs all over the world.

That's why you want to learn JavaScript too. And you came to the right place!


Why is this the right JavaScript course for you?

This is the most complete and in-depth JavaScript course on Udemy (and maybe the entire internet!). It's an all-in-one package that will take you from the very fundamentals of JavaScript, all the way to building modern and complex applications.

You will learn modern JavaScript from the very beginning, step-by-step. I will guide you through practical and fun code examples, important theory about how JavaScript works behind the scenes, and beautiful and complete projects.

You will become ready to continue learning advanced front-end frameworks like React, Vue, Angular, or Svelte.

You will also learn how to think like a developer, how to plan application features, how to architect your code, how to debug code, and a lot of other real-world skills that you will need in your developer job.

And unlike other courses, this one actually contains beginner, intermediate, advanced, and even expert topics, so you don't have to buy any other course in order to master JavaScript from the ground up!

But... You don't have to go into all these topics. This is a huge course, because, after all, it's "The Complete JavaScript Course". In fact, it's like many courses in one! But you can become an excellent developer by watching only parts of the course. That's why I built this course in a very modular way, and designed pathways that will take you through the course faster.

By the end of the course, you will have the knowledge and confidence that you need in order to ace your job interviews and become a professional developer.


Why am I the right JavaScript teacher for you?

My name is Jonas, I'm an experienced web developer and designer, and one of Udemy's top instructors. I have been teaching this bestselling course since 2016 to over 700,000 developers, always listening to feedback and understanding exactly how students actually learn.

I know how students learn JavaScript and what they need in order to master it. And with that knowledge, I designed the ideal course curriculum. It's a unique blend of real-world projects, deep explanations, theory lectures, and challenges, that will take you from zero to an expert and confident JavaScript developer in just a couple of weeks.


So what exactly is covered in the course?

  • Build 5 beautiful real-world projects for your portfolio! In these projects, you will learn how to plan and architect your applications using flowcharts and common JavaScript patterns

  • Master the JavaScript fundamentals: variables, if/else, operators, boolean logic, functions, arrays, objects, loops, strings, and more

  • Learn modern JavaScript (ES6+) from the beginning: arrow functions, destructuring, spread operator, default arguments, optional chaining, and more

  • How JavaScript works behind the scenes: engines, the call stack, hoisting, scoping, the 'this' keyword, reference values, and more.

  • Deep dive into functions: arrow functions, first-class and higher-order functions, bind, and closures.

  • Deep dive into object-oriented programming: prototypal inheritance, constructor functions (ES5), classes (ES6), encapsulation, abstraction, inheritance, and polymorphism. [This is like a small standalone course]

  • Deep dive into asynchronous JavaScript: the event loop, promises, async/await, and error handling. You will use these to access data from third-party APIs with AJAX calls. [This is like a small standalone course]

  • Learn modern tools that are used by professional web developers: NPM, Parcel (module bundler), Babel, and ES6 modules

Check out the course curriculum for an even more detailed overview of the content :)


This is what's also included in the package:

  • Up-to-date HD-quality videos, that are easy to search and reference (great for Udemy Business students)

  • Professional English captions (not the auto-generated ones)

  • Downloadable starter code and final code for each section

  • Downloadable slides for 40+ theory videos (not boring, I promise!)

  • Free support in the course Q&A

  • 25+ coding challenges and 25+ assignments to practice your new skills (solutions included)


This course is for you if...

  • ... you want to gain a true and deep understanding of JavaScript

  • ... you have been trying to learn JavaScript but: 1) still don't really understand JavaScript, or 2) still don't feel confident to code real apps

  • ... you are interested in using a library/framework like React, Angular, Vue, or Node.js in the future

  • ... you already know JavaScript and are looking for an advanced course. This course includes expert topics!

  • ... you want to get started with programming: JavaScript is a great first language!


Does any of these look like you? If so, then start this adventure today, and join me and 750,000+ other developers in the only JavaScript course that you will ever need!

Bạn sẽ học được gì

Become an advanced, confident, and modern JavaScript developer from scratch

Build 6 beautiful real-world projects for your portfolio (not boring toy apps)

Become job-ready by understanding how JavaScript really works behind the scenes

How to think and work like a developer: problem-solving, researching, workflows

JavaScript fundamentals: variables, if/else, operators, boolean logic, functions, arrays, objects, loops, strings, etc.

Modern ES6+ from the beginning: arrow functions, destructuring, spread operator, optional chaining (ES2020), etc.

Modern OOP: Classes, constructors, prototypal inheritance, encapsulation, etc.

Complex concepts like the 'this' keyword, higher-order functions, closures, etc.

Asynchronous JavaScript: Event loop, promises, async/await, AJAX calls and APIs

How to architect your code using flowcharts and common patterns

Modern tools for 2022 and beyond: NPM, Parcel, Babel and ES6 modules

Practice your skills with 50+ challenges and assignments (solutions included)

Get fast and friendly support in the Q&A area

Course pathways: design your unique learning path according to your goals!

Yêu cầu

  • No coding experience is necessary to take this course! I take you from beginner to expert!
  • Any computer and OS will work — Windows, macOS or Linux. We will set up your text editor the course.
  • A basic understanding of HTML and CSS is a plus, but not a must! The course includes an HTML and CSS crash course.

Nội dung khoá học

21 sections

Welcome, Welcome, Welcome!

4 lectures
Course Structure and Projects
05:25
Read Before You Start!
00:40
Watch Before You Start!
06:09
Setting Up Our Code Editor
08:23

JavaScript Fundamentals – Part 1

30 lectures
Section Intro
00:53
Hello World!
05:57
A Brief Introduction to JavaScript
11:18
Linking a JavaScript File
15:55
Values and Variables
16:05
Practice Assignments
00:23
Data Types
19:19
let, const and var
09:58
Basic Operators
19:31
Operator Precedence
11:19
A Note About Challenges
00:29
CHALLENGE #1
1 question
CHALLENGE #1: Video Solution
07:20
Strings and Template Literals
10:57
Taking Decisions: if / else Statements
12:50
CHALLENGE #2
1 question
CHALLENGE #2: Video Solution
05:20
Type Conversion and Coercion
16:40
Truthy and Falsy Values
10:03
Equality Operators: == vs. ===
15:41
Boolean Logic
08:30
Logical Operators
10:37
CHALLENGE #3
1 question
CHALLENGE #3: Video Solution
11:42
The switch Statement
13:10
Statements and Expressions
06:08
The Conditional (Ternary) Operator
10:02
CHALLENGE #4
1 question
CHALLENGE #4: Video Solution
05:57
JavaScript Releases: ES5, ES6+ and ESNext
14:19

JavaScript Fundamentals – Part 2

24 lectures
Section Intro
00:36
Activating Strict Mode
10:27
Functions
19:08
Function Declarations vs. Expressions
10:39
Arrow Functions
09:52
Functions Calling Other Functions
10:07
Reviewing Functions
15:37
CHALLENGE #1
1 question
CHALLENGE #1: Video Solution
14:10
Introduction to Arrays
21:34
Basic Array Operations (Methods)
12:52
CHALLENGE #2
1 question
CHALLENGE #2: Video Solution
06:54
Introduction to Objects
06:08
Dot vs. Bracket Notation
19:21
Object Methods
23:04
CHALLENGE #3
1 question
CHALLENGE #3: Video Solution
09:50
Iteration: The for Loop
11:11
Looping Arrays, Breaking and Continuing
22:02
Looping Backwards and Loops in Loops
11:53
The while Loop
11:52
CHALLENGE #4
1 question
CHALLENGE #4: Video Solution
11:24

How to Navigate This Course

2 lectures
Pathways and Section Roadmaps
04:08
Course Pathways
00:07

Developer Skills & Editor Setup

10 lectures
Section Intro
00:39
Section Roadmap
00:22
Setting up Prettier and VS Code
16:22
Installing Node.js and Setting Up a Dev Environment
11:32
Learning How to Code
17:42
How to Think Like a Developer: Become a Problem Solver!
10:53
Using Google, StackOverflow and MDN
26:36
Debugging (Fixing Errors)
05:09
Debugging with the Console and Breakpoints
19:25
Coding Challenge #1
15:24

[OPTIONAL] HTML & CSS Crash Course

5 lectures
Section Intro
00:40
Basic HTML Structure and Elements
09:32
Attributes, Classes and IDs
13:09
Basic Styling with CSS
12:00
Introduction to the CSS Box Model
20:57

JavaScript in the Browser: DOM and Events Fundamentals

19 lectures
Section Intro
00:49
Section Roadmap
00:29
PROJECT #1: Guess My Number!
08:47
What's the DOM and DOM Manipulation
06:48
Selecting and Manipulating Elements
08:22
Handling Click Events
12:50
Implementing the Game Logic
19:33
Manipulating CSS Styles
08:17
Coding Challenge #1
11:40
Implementing Highscores
07:47
Refactoring Our Code: The DRY Principle
15:05
PROJECT #2: Modal Window
13:21
Working With Classes
16:55
Handling an "Esc" Keypress Event
14:11
PROJECT #3: Pig Game
17:08
Rolling the Dice
15:58
Switching the Active Player
15:16
Holding Current Score
24:55
Resetting the Game
15:38

How JavaScript Works Behind the Scenes

14 lectures
Section Intro
01:31
Section Roadmap
00:30
An High-Level Overview of JavaScript
12:11
The JavaScript Engine and Runtime
13:47
Execution Contexts and The Call Stack
17:45
Scope and The Scope Chain
25:37
Scoping in Practice
21:13
Variable Environment: Hoisting and The TDZ
11:00
Hoisting and TDZ in Practice
14:42
The this Keyword
06:30
The this Keyword in Practice
13:11
Regular Functions vs. Arrow Functions
18:04
Primitives vs. Objects (Primitive vs. Reference Types)
16:06
Primitives vs. Objects in Practice
14:57

Data Structures, Modern Operators and Strings

26 lectures
Section Intro
00:53
Section Roadmap
00:22
Destructuring Arrays
19:33
Practice Assignments
00:10
Destructuring Objects
19:46
The Spread Operator (...)
21:26
Rest Pattern and Parameters
19:01
Short Circuiting (&& and ||)
15:55
The Nullish Coalescing Operator (??)
03:32
Logical Assignment Operators
11:39
Coding Challenge #1
14:57
Looping Arrays: The for-of Loop
07:20
Enhanced Object Literals
07:02
Optional Chaining (?.)
16:10
Looping Objects: Object Keys, Values, and Entries
10:09
Coding Challenge #2
14:30
Sets
13:18
Maps: Fundamentals
14:03
Maps: Iteration
12:41
Summary: Which Data Structure to Use?
09:40
Coding Challenge #3
09:37
Working With Strings - Part 1
16:53
Working With Strings - Part 2
21:45
Working With Strings - Part 3
21:41
Coding Challenge #4
15:15
String Methods Practice
16:36

A Closer Look at Functions

14 lectures
Section Intro
00:48
Section Roadmap
00:22
Default Parameters
09:17
How Passing Arguments Works: Value vs. Reference
13:36
First-Class and Higher-Order Functions
05:24
Functions Accepting Callback Functions
15:20
Functions Returning Functions
06:36
The call and apply Methods
16:51
The bind Method
21:33
Coding Challenge #1
18:47
Immediately Invoked Function Expressions (IIFE)
07:52
Closures
19:48
More Closure Examples
15:30
Coding Challenge #2
05:25

Working With Arrays

28 lectures
Section Intro
00:53
Section Roadmap
00:29
Simple Array Methods
16:37
The new at Method
06:04
Looping Arrays: forEach
13:46
forEach With Maps and Sets
05:32
PROJECT: "Bankist" App
09:48
Creating DOM Elements
18:44
Coding Challenge #1
08:31
Data Transformations: map, filter, reduce
04:40
The map Method
15:40
Computing Usernames
12:14
The filter Method
06:19
The reduce Method
20:57
Coding Challenge #2
09:56
The Magic of Chaining Methods
19:39
Coding Challenge #3
03:57
The find Method
06:47
Implementing Login
24:18
Implementing Transfers
20:54
The findIndex Method
12:34
some and every
15:11
flat and flatMap
09:32
Sorting Arrays
21:55
More Ways of Creating and Filling Arrays
20:33
Summary: Which Array Method to Use?
06:24
Array Methods Practice
32:21
Coding Challenge #4
23:47

Numbers, Dates, Intl and Timers

14 lectures
Section Intro
00:50
Section Roadmap
00:22
Converting and Checking Numbers
16:46
Math and Rounding
18:14
The Remainder Operator
10:56
Numeric Separators
06:57
Working with BigInt
11:18
Creating Dates
12:55
Adding Dates to "Bankist" App
22:21
Operations With Dates
15:27
Internationalizing Dates (Intl)
17:18
Internationalizing Numbers (Intl)
19:06
Timers: setTimeout and setInterval
13:53
Implementing a Countdown Timer
28:31

Advanced DOM and Events

22 lectures
Section Intro
01:04
Section Roadmap
00:22
PROJECT: "Bankist" Website
08:49
How the DOM Really Works
10:36
Selecting, Creating, and Deleting Elements
20:28
Styles, Attributes and Classes
21:54
Implementing Smooth Scrolling
15:56
Types of Events and Event Handlers
10:33
Event Propagation: Bubbling and Capturing
05:03
Event Propagation in Practice
17:46
Event Delegation: Implementing Page Navigation
18:48
DOM Traversing
14:35
Building a Tabbed Component
24:08
Passing Arguments to Event Handlers
18:43
Implementing a Sticky Navigation: The Scroll Event
07:55
A Better Way: The Intersection Observer API
24:00
Revealing Elements on Scroll
12:39
Lazy Loading Images
18:30
Building a Slider Component: Part 1
23:16
Building a Slider Component: Part 2
19:35
Lifecycle DOM Events
09:26
Efficient Script Loading: defer and async
13:30

Object-Oriented Programming (OOP) With JavaScript

24 lectures
Section Intro
01:06
Section Roadmap
00:22
What is Object-Oriented Programming?
20:55
OOP in JavaScript
10:08
Constructor Functions and the new Operator
14:19
Prototypes
14:36
Prototypal Inheritance and The Prototype Chain
10:58
Prototypal Inheritance on Built-In Objects
14:46
Coding Challenge #1
07:27
ES6 Classes
12:57
Setters and Getters
13:15
Static Methods
06:24
Object.create
10:56
Coding Challenge #2
06:00
Inheritance Between "Classes": Constructor Functions
21:03
Coding Challenge #3
10:37
Inheritance Between "Classes": ES6 Classes
10:46
Inheritance Between "Classes": Object.create
08:53
Another Class Example
10:44
Encapsulation: Protected Properties and Methods
06:47
Encapsulation: Private Class Fields and Methods
16:11
Chaining Methods
04:42
ES6 Classes Summary
07:11
Coding Challenge #4
08:54

Mapty App: OOP, Geolocation, External Libraries, and More!

16 lectures
Section Intro
00:58
Section Roadmap
00:27
Project Overview
05:02
How to Plan a Web Project
17:40
Using the Geolocation API
08:16
Displaying a Map Using Leaflet Library
13:48
Displaying a Map Marker
19:54
Rendering Workout Input Form
16:42
Project Architecture
09:28
Refactoring for Project Architecture
24:05
Managing Workout Data: Creating Classes
16:18
Creating a New Workout
34:06
Rendering Workouts
24:19
Move to Marker On Click
16:32
Working with localStorage
25:31
Final Considerations
05:41

Asynchronous JavaScript: Promises, Async/Await, and AJAX

24 lectures
Section Intro
00:55
Section Roadmap
00:22
Asynchronous JavaScript, AJAX and APIs
17:57
IMPORTANT: API URL Change
00:14
Our First AJAX Call: XMLHttpRequest
19:10
[OPTIONAL] How the Web Works: Requests and Responses
13:38
Welcome to Callback Hell
13:52
Promises and the Fetch API
09:25
Consuming Promises
09:24
Chaining Promises
09:13
Handling Rejected Promises
16:13
Throwing Errors Manually
15:23
Coding Challenge #1
16:31
Asynchronous Behind the Scenes: The Event Loop
17:53
The Event Loop in Practice
09:15
Building a Simple Promise
20:16
Promisifying the Geolocation API
13:26
Coding Challenge #2
15:53
Consuming Promises with Async/Await
15:06
Error Handling With try...catch
10:22
Returning Values from Async Functions
14:39
Running Promises in Parallel
10:56
Other Promise Combinators: race, allSettled and any
13:19
Coding Challenge #3
17:30

Modern JavaScript Development: Modules, Tooling, and Functional

16 lectures
Section Intro
00:47
Section Roadmap
00:22
An Overview of Modern JavaScript Development
06:38
An Overview of Modules in JavaScript
15:01
Exporting and Importing in ES6 Modules
22:38
Top-Level await (ES2022)
14:44
The Module Pattern
10:19
CommonJS Modules
04:24
A Brief Introduction to the Command Line
12:27
Introduction to NPM
18:40
Bundling With Parcel and NPM Scripts
21:39
Configuring Babel and Polyfilling
18:02
Review: Writing Clean and Modern JavaScript
10:26
Let's Fix Some Bad Code: Part 1
23:20
Declarative and Functional JavaScript Principles
12:25
Let's Fix Some Bad Code: Part 2
38:09

Forkify App: Building a Modern Application

27 lectures
Section Intro
00:56
Section Roadmap
00:27
Project Overview and Planning (I)
14:21
Latest Code Updates (Parcel v2 and more)
00:47
Loading a Recipe from API
24:11
Rendering the Recipe
22:23
Listening For load and hashchange Events
11:02
The MVC Architecture
16:32
Refactoring for MVC
38:53
Helpers and Configuration Files
21:23
Event Handlers in MVC: Publisher-Subscriber Pattern
15:08
Implementing Error and Success Messages
11:34
Implementing Search Results - Part 1
25:46
Implementing Search Results - Part 2
28:15
Implementing Pagination - Part 1
12:18
Implementing Pagination - Part 2
37:05
Project Planning II
03:13
Updating Recipe Servings
26:40
Developing a DOM Updating Algorithm
34:22
Implementing Bookmarks - Part 1
25:59
Implementing Bookmarks - Part 2
18:31
Storing Bookmarks With localStorage
18:22
Project Planning III
02:08
Uploading a New Recipe - Part 1
17:43
Uploading a New Recipe - Part 2
40:37
Uploading a New Recipe - Part 3
19:58
Wrapping Up: Final Considerations
14:45

Setting Up Git and Deployment

7 lectures
Section Intro
00:44
Section Roadmap
00:22
Simple Deployment With Netlify
11:18
Setting Up Git and GitHub
07:39
Git Fundamentals
19:36
Pushing to GitHub
09:30
Setting Up Continuous Integration With Netlify
10:06

The End!

2 lectures
Where to Go from Here
03:00
My Other Courses + Updates
01:09

[LEGACY] Access the Old Course

1 lectures
Access the Old Course
00:51

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.