[Last updated 1/2024] The Complete JavaScript Course 2024: From Zero to Expert! (Udemy – Vietsub and Engsub)
About Course
Views
What you’ll learn:
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
Link gốc:
https://www.udemy.com/course/the-complete-javascript-course/
Time Course:
68.5 hours (321 Lectures + Documents)
Instructor
: Jonas Schmedtmann
Total Weight:
37.31 GB
** Note
:
Chú ý:
Course Content
11 – Working With Arrays
-
015 Coding Challenge #2.mp4
09:56 -
028 Coding Challenge #4.mp4
23:47 -
027 Array Methods Practice.mp4
32:21 -
026 Summary Which Array Method to Use.mp4
06:24 -
025 More Ways of Creating and Filling Arrays.mp4
20:33 -
024 Sorting Arrays.mp4
21:55 -
023 flat and flatMap.mp4
09:32 -
022 some and every.mp4
15:11 -
021 The findIndex Method.mp4
12:34 -
020 Implementing Transfers.mp4
20:54 -
019 Implementing Login.mp4
24:18 -
018 The find Method.mp4
06:47 -
017 Coding Challenge #3.mp4
03:57 -
016 The Magic of Chaining Methods.mp4
19:39 -
001 Section Intro.mp4
00:53 -
014 The reduce Method.mp4
20:57 -
013 The filter Method.mp4
06:19 -
012 Computing Usernames.mp4
12:14 -
011 The map Method.mp4
15:40 -
010 Data Transformations map, filter, reduce.mp4
04:40 -
009 Coding Challenge #1.mp4
08:31 -
008 Creating DOM Elements.mp4
18:44 -
007 PROJECT Bankist App.mp4
09:48 -
006 forEach With Maps and Sets.mp4
05:32 -
005 Looping Arrays forEach.mp4
13:45 -
004 The new at Method.mp4
06:04 -
003 Simple Array Methods.mp4
16:37
20 – The End!
-
001 Where to Go from Here.mp4
03:00
19 – Setting Up Git and Deployment
-
001 Section Intro.mp4
00:44 -
003 Simple Deployment With Netlify.mp4
11:18 -
004 Setting Up Git and GitHub.mp4
07:39 -
005 Git Fundamentals.mp4
19:36 -
006 Pushing to GitHub.mp4
09:30 -
007 Setting Up Continuous Integration With Netlify.mp4
10:06
18 – Forkify App Building a Modern Application
-
015 Implementing Pagination – Part 1.mp4
12:17 -
027 Wrapping Up Final Considerations.mp4
14:45 -
026 Uploading a New Recipe – Part 3.mp4
19:58 -
025 Uploading a New Recipe – Part 2.mp4
40:37 -
024 Uploading a New Recipe – Part 1.mp4
17:43 -
023 Project Planning III.mp4
02:08 -
022 Storing Bookmarks With localStorage.mp4
18:22 -
021 Implementing Bookmarks – Part 2.mp4
18:31 -
020 Implementing Bookmarks – Part 1.mp4
25:59 -
019 Developing a DOM Updating Algorithm.mp4
34:22 -
018 Updating Recipe Servings.mp4
26:40 -
017 Project Planning II.mp4
03:13 -
016 Implementing Pagination – Part 2.mp4
37:05 -
001 Section Intro.mp4
00:56 -
014 Implementing Search Results – Part 2.mp4
28:15 -
013 Implementing Search Results – Part 1.mp4
25:46 -
012 Implementing Error and Success Messages.mp4
11:34 -
011 Event Handlers in MVC Publisher-Subscriber Pattern.mp4
15:08 -
010 Helpers and Configuration Files.mp4
21:23 -
009 Refactoring for MVC.mp4
38:53 -
008 The MVC Architecture.mp4
16:32 -
007 Listening For load and hashchange Events.mp4
11:02 -
006 Rendering the Recipe.mp4
22:23 -
005 Loading a Recipe from API.mp4
24:11 -
003 Project Overview and Planning (I).mp4
14:21
17 – Modern JavaScript Development Modules, Tooling, and Functional
-
001 Section Intro.mp4
00:47 -
003 An Overview of Modern JavaScript Development.mp4
06:38 -
004 An Overview of Modules in JavaScript.mp4
15:00 -
005 Exporting and Importing in ES6 Modules.mp4
22:38 -
006 Top-Level await (ES2022).mp4
14:44 -
007 The Module Pattern.mp4
10:19 -
008 CommonJS Modules.mp4
04:24 -
009 A Brief Introduction to the Command Line.mp4
12:27 -
010 Introduction to NPM.mp4
18:40 -
011 Bundling With Parcel and NPM Scripts.mp4
21:39 -
012 Configuring Babel and Polyfilling.mp4
18:02 -
013 Review Writing Clean and Modern JavaScript.mp4
10:26 -
014 Let’s Fix Some Bad Code Part 1.mp4
23:20 -
015 Declarative and Functional JavaScript Principles.mp4
12:25 -
016 Let’s Fix Some Bad Code Part 2.mp4
38:08
16 – Asynchronous JavaScript Promises, AsyncAwait, and AJAX
-
014 Asynchronous Behind the Scenes The Event Loop.mp4
17:53 -
024 Coding Challenge #3.mp4
17:30 -
023 Other Promise Combinators race, allSettled and any.mp4
13:19 -
022 Running Promises in Parallel.mp4
10:56 -
021 Returning Values from Async Functions.mp4
14:39 -
020 Error Handling With try…catch.mp4
10:22 -
019 Consuming Promises with AsyncAwait.mp4
15:06 -
018 Coding Challenge #2.mp4
15:53 -
017 Promisifying the Geolocation API.mp4
13:26 -
016 Building a Simple Promise.mp4
20:16 -
015 The Event Loop in Practice.mp4
09:15 -
001 Section Intro.mp4
00:55 -
013 Coding Challenge #1.mp4
16:31 -
012 Throwing Errors Manually.mp4
15:23 -
011 Handling Rejected Promises.mp4
16:13 -
010 Chaining Promises.mp4
09:13 -
009 Consuming Promises.mp4
09:23 -
008 Promises and the Fetch API.mp4
09:25 -
007 Welcome to Callback Hell.mp4
13:52 -
006 [OPTIONAL] How the Web Works Requests and Responses.mp4
13:38 -
005 Our First AJAX Call XMLHttpRequest.mp4
19:10 -
003 Asynchronous JavaScript, AJAX and APIs.mp4
17:57
15 – Mapty App OOP, Geolocation, External Libraries, and More!
-
001 Section Intro.mp4
00:58 -
003 Project Overview.mp4
05:02 -
004 How to Plan a Web Project.mp4
17:40 -
005 Using the Geolocation API.mp4
08:16 -
006 Displaying a Map Using Leaflet Library.mp4
13:48 -
007 Displaying a Map Marker.mp4
19:54 -
008 Rendering Workout Input Form.mp4
16:42 -
009 Project Architecture.mp4
09:28 -
010 Refactoring for Project Architecture.mp4
24:05 -
011 Managing Workout Data Creating Classes.mp4
16:18 -
012 Creating a New Workout.mp4
34:06 -
013 Rendering Workouts.mp4
24:19 -
014 Move to Marker On Click.mp4
16:32 -
015 Working with localStorage.mp4
25:31 -
016 Final Considerations.mp4
05:41
14 – Object-Oriented Programming (OOP) With JavaScript
-
013 Object.create.mp4
10:56 -
024 Coding Challenge #4.mp4
08:54 -
023 ES6 Classes Summary.mp4
07:11 -
022 Chaining Methods.mp4
04:42 -
021 Encapsulation Private Class Fields and Methods.mp4
16:11 -
020 Encapsulation Protected Properties and Methods.mp4
06:47 -
019 Another Class Example.mp4
10:44 -
018 Inheritance Between Classes Object.create.mp4
08:53 -
017 Inheritance Between Classes ES6 Classes.mp4
10:46 -
016 Coding Challenge #3.mp4
10:37 -
015 Inheritance Between Classes Constructor Functions.mp4
21:03 -
014 Coding Challenge #2.mp4
06:00 -
001 Section Intro.mp4
01:06 -
012 Static Methods.mp4
06:24 -
011 Setters and Getters.mp4
13:15 -
010 ES6 Classes.mp4
12:57 -
009 Coding Challenge #1.mp4
07:27 -
008 Prototypal Inheritance on Built-In Objects.mp4
14:46 -
007 Prototypal Inheritance and The Prototype Chain.mp4
10:58 -
006 Prototypes.mp4
14:36 -
005 Constructor Functions and the new Operator.mp4
14:19 -
004 OOP in JavaScript.mp4
10:08 -
003 What is Object-Oriented Programming.mp4
20:55
13 – Advanced DOM and Events
-
012 DOM Traversing.mp4
14:35 -
022 Efficient Script Loading defer and async.mp4
13:30 -
021 Lifecycle DOM Events.mp4
09:26 -
020 Building a Slider Component Part 2.mp4
19:35 -
019 Building a Slider Component Part 1.mp4
23:16 -
018 Lazy Loading Images.mp4
18:30 -
017 Revealing Elements on Scroll.mp4
12:39 -
016 A Better Way The Intersection Observer API.mp4
24:00 -
015 Implementing a Sticky Navigation The Scroll Event.mp4
07:55 -
014 Passing Arguments to Event Handlers.mp4
18:43 -
013 Building a Tabbed Component.mp4
24:08 -
001 Section Intro.mp4
01:04 -
011 Event Delegation Implementing Page Navigation.mp4
18:48 -
010 Event Propagation in Practice.mp4
17:46 -
009 Event Propagation Bubbling and Capturing.mp4
05:03 -
008 Types of Events and Event Handlers.mp4
10:33 -
007 Implementing Smooth Scrolling.mp4
15:56 -
006 Styles, Attributes and Classes.mp4
21:54 -
005 Selecting, Creating, and Deleting Elements.mp4
20:28 -
004 How the DOM Really Works.mp4
10:35 -
003 PROJECT Bankist Website.mp4
08:49
12 – Numbers, Dates, Intl and Timers
-
001 Section Intro.mp4
00:50 -
003 Converting and Checking Numbers.mp4
16:45 -
004 Math and Rounding.mp4
18:14 -
005 The Remainder Operator.mp4
10:56 -
006 Numeric Separators.mp4
06:57 -
007 Working with BigInt.mp4
11:18 -
008 Creating Dates.mp4
12:55 -
009 Adding Dates to Bankist App.mp4
22:21 -
010 Operations With Dates.mp4
15:27 -
011 Internationalizing Dates (Intl).mp4
17:18 -
012 Internationalizing Numbers (Intl).mp4
19:06 -
013 Timers setTimeout and setInterval.mp4
13:53 -
014 Implementing a Countdown Timer.mp4
28:31
01 – Welcome, Welcome, Welcome!
-
05:25
-
06:09
-
004 Setting Up Our Code Editor.mp4
08:23
10 – A Closer Look at Functions
-
001 Section Intro.mp4
00:48 -
003 Default Parameters.mp4
09:17 -
004 How Passing Arguments Works Value vs. Reference.mp4
13:36 -
005 First-Class and Higher-Order Functions.mp4
05:24 -
006 Functions Accepting Callback Functions.mp4
15:20 -
007 Functions Returning Functions.mp4
06:36 -
008 The call and apply Methods.mp4
16:51 -
009 The bind Method.mp4
21:33 -
010 Coding Challenge #1.mp4
18:47 -
011 Immediately Invoked Function Expressions (IIFE).mp4
07:52 -
012 Closures.mp4
19:48 -
013 More Closure Examples.mp4
15:30 -
014 Coding Challenge #2.mp4
05:25
09 – Data Structures, Modern Operators and Strings
-
014 Looping Objects Object Keys, Values, and Entries.mp4
10:09 -
025 String Methods Practice.mp4
16:36 -
024 Coding Challenge #4.mp4
15:15 -
023 Working With Strings – Part 3.mp4
21:41 -
022 Working With Strings – Part 2.mp4
21:45 -
021 Working With Strings – Part 1.mp4
16:53 -
020 Coding Challenge #3.mp4
09:37 -
019 Summary Which Data Structure to Use.mp4
09:40 -
018 Maps Iteration.mp4
12:41 -
017 Maps Fundamentals.mp4
14:03 -
016 Sets.mp4
13:18 -
015 Coding Challenge #2.mp4
14:30 -
001 Section Intro.mp4
00:53 -
013 Optional Chaining (.).mp4
16:10 -
012 Enhanced Object Literals.mp4
07:02 -
011 Looping Arrays The for-of Loop.mp4
07:20 -
010 Coding Challenge #1.mp4
14:57 -
009 Logical Assignment Operators.mp4
11:39 -
008 The Nullish Coalescing Operator ().mp4
03:32 -
007 Short Circuiting (&& and ).mp4
15:55 -
006 Rest Pattern and Parameters.mp4
19:01 -
005 The Spread Operator (…).mp4
21:26 -
004 Destructuring Objects.mp4
19:46 -
003 Destructuring Arrays.mp4
19:33
08 – How JavaScript Works Behind the Scenes
-
001 Section Intro.mp4
01:31 -
003 An High-Level Overview of JavaScript.mp4
12:11 -
004 The JavaScript Engine and Runtime.mp4
13:47 -
005 Execution Contexts and The Call Stack.mp4
17:45 -
006 Scope and The Scope Chain.mp4
25:37 -
007 Scoping in Practice.mp4
21:13 -
008 Variable Environment Hoisting and The TDZ.mp4
11:00 -
009 Hoisting and TDZ in Practice.mp4
14:42 -
010 The this Keyword.mp4
06:30 -
011 The this Keyword in Practice.mp4
13:11 -
012 Regular Functions vs. Arrow Functions.mp4
18:04 -
013 Primitives vs. Objects (Primitive vs. Reference Types).mp4
16:06 -
014 Primitives vs. Objects in Practice.mp4
14:57
07 – JavaScript in the Browser DOM and Events Fundamentals
-
011 Refactoring Our Code The DRY Principle.mp4
15:05 -
019 Resetting the Game.mp4
15:38 -
018 Holding Current Score.mp4
24:55 -
017 Switching the Active Player.mp4
15:16 -
016 Rolling the Dice.mp4
15:58 -
015 PROJECT #3 Pig Game.mp4
17:08 -
014 Handling an Esc Keypress Event.mp4
14:11 -
013 Working With Classes.mp4
16:55 -
012 PROJECT #2 Modal Window.mp4
13:21 -
001 Section Intro.mp4
00:49 -
010 Implementing Highscores.mp4
07:47 -
009 Coding Challenge #1.mp4
11:40 -
008 Manipulating CSS Styles.mp4
08:17 -
007 Implementing the Game Logic.mp4
19:33 -
006 Handling Click Events.mp4
12:50 -
005 Selecting and Manipulating Elements.mp4
08:22 -
004 What’s the DOM and DOM Manipulation.mp4
06:48 -
003 PROJECT #1 Guess My Number!.mp4
08:47
06 – [OPTIONAL] HTML & CSS Crash Course
-
001 Section Intro.mp4
00:40 -
002 Basic HTML Structure and Elements.mp4
09:32 -
003 Attributes, Classes and IDs.mp4
13:09 -
004 Basic Styling with CSS.mp4
12:00 -
005 Introduction to the CSS Box Model.mp4
20:57
05 – Developer Skills & Editor Setup
-
001 Section Intro.mp4
00:39 -
003 Setting up Prettier and VS Code.mp4
16:22 -
004 Installing Node.js and Setting Up a Dev Environment.mp4
11:32 -
005 Learning How to Code.mp4
17:42 -
006 How to Think Like a Developer Become a Problem Solver!.mp4
10:53 -
007 Using Google, StackOverflow and MDN.mp4
26:36 -
008 Debugging (Fixing Errors).mp4
05:09 -
009 Debugging with the Console and Breakpoints.mp4
19:25 -
010 Coding Challenge #1.mp4
15:24
04 – How to Navigate This Course
-
001 Pathways and Section Roadmaps.mp4
04:08
03 – JavaScript Fundamentals – Part 2
-
011 CHALLENGE #2 Video Solution.mp4
06:54 -
020 CHALLENGE #4 Video Solution.mp4
11:24 -
019 The while Loop.mp4
11:52 -
018 Looping Backwards and Loops in Loops.mp4
11:53 -
017 Looping Arrays, Breaking and Continuing.mp4
22:02 -
016 Iteration The for Loop.mp4
11:11 -
015 CHALLENGE #3 Video Solution.mp4
09:50 -
014 Object Methods.mp4
23:04 -
013 Dot vs. Bracket Notation.mp4
19:21 -
012 Introduction to Objects.mp4
06:08 -
001 Section Intro.mp4
00:36 -
010 Basic Array Operations (Methods).mp4
12:52 -
009 Introduction to Arrays.mp4
21:34 -
008 CHALLENGE #1 Video Solution.mp4
14:10 -
007 Reviewing Functions.mp4
15:37 -
006 Functions Calling Other Functions.mp4
10:07 -
005 Arrow Functions.mp4
09:52 -
004 Function Declarations vs. Expressions.mp4
10:39 -
003 Functions.mp4
19:08 -
002 Activating Strict Mode.mp4
10:26
02 – JavaScript Fundamentals – Part 1
-
015 CHALLENGE #2 Video Solution.mp4
05:20 -
026 JavaScript Releases ES5, ES6+ and ESNext.mp4
14:19 -
025 CHALLENGE #4 Video Solution.mp4
05:57 -
024 The Conditional (Ternary) Operator.mp4
10:02 -
023 Statements and Expressions.mp4
06:08 -
022 The switch Statement.mp4
13:10 -
021 CHALLENGE #3 Video Solution.mp4
11:42 -
020 Logical Operators.mp4
10:37 -
019 Boolean Logic.mp4
08:30 -
018 Equality Operators == vs. ===.mp4
15:41 -
017 Truthy and Falsy Values.mp4
10:03 -
016 Type Conversion and Coercion.mp4
16:40 -
001 Section Intro.mp4
00:53 -
014 Taking Decisions if else Statements.mp4
12:50 -
013 Strings and Template Literals.mp4
10:57 -
012 CHALLENGE #1 Video Solution.mp4
07:20 -
010 Operator Precedence.mp4
11:19 -
009 Basic Operators.mp4
19:31 -
008 let, const and var.mp4
09:58 -
007 Data Types.mp4
19:19 -
005 Values and Variables.mp4
16:05 -
004 Linking a JavaScript File.mp4
15:55 -
003 A Brief Introduction to JavaScript.mp4
11:18 -
002 Hello World!.mp4
05:57