Skip to navigation
Skip to navigation
Skip to search form
Skip to login form
Skip to footer
Skip to main content
MVP189
LEO777
LEO777
LEO777
LEO777
LEO777
LEO777
LEO777
LEO777
LEO777
PAREPOS
JAVABET99
KONTAN88
PEWE128
LAGA88
SKY99IDN
BUANA88
BOXING55
DEWISRI88
DEWISRI88
DEWISRI88
MVP189
slot mania
MVP189
situs tergacor
pg slot wallet
Accessibility options
Accessibility profiles
Visual impairment
Seizure and epileptic
Color vision deficiency
ADHD
Learning
Content adjustments
Readable font
Highlight titles
Highlight links
Stop animations
Text size
+
+ +
+ + +
Line height
+
+ +
+ + +
Text spacing
+
+ +
+ + +
Color adjustments
Dark contrast
Light contrast
High contrast
High saturation
Low saturation
Monochrome
Orientation adjustments
Reading guide
Reading Mask
Big black cursor
Big white cursor
Email: it@huph.edu.vn
Email: it@huph.edu.vn
Các khóa học
Link list
Đổi giao diện
Giao diện cũ
Giao diện mới
Learning AI
Machine Learning cơ bản
en
English
Technology
Programing Language
The Complete JavaScript Course 2025 From Zero to Expert
0 students
Last updated
Apr 2025
Enrol now
Overview
Course content
Instructors
About the course
Show more...
Course content
Sections:
20
•
Activities:
0
•
Resources:
307
Expand all
Section 1
Welcome, Welcome, Welcome!
001-Course Structure and Projects-OsS7-gitir
002-Read Before You Start-nTCa-gitir
004-Setting Up Our Code Editor-rsoD-gitir
Section 2
JavaScript Fundamentals – Part 1
005-Section Intro-tHvW-gitir
006-Hello World-k4Tm-gitir
007-A Brief Introduction to JavaScript-GrkR-gitir
008-Linking a JavaScript File-SOQA-gitir
009-Values and Variables-O4kx-gitir
011-Data Types-O06d-gitir
012-let const and var-iGNc-gitir
013-Basic Operators-tDpI-gitir
014-Operator Precedence-ed7k-gitir
015-A Note About Challenges-91Tr-gitir
018-Strings and Template Literals-xQu7-gitir
019-Taking Decisions if else Statements-rdPI-gitir
021-CHALLENGE 2 Video Solution-KsO7-gitir
022-Type Conversion and Coercion-LLDa-gitir
023-Truthy and Falsy Values-T2Rs-gitir
024-Equality Operators vs-RD7s-gitir
025-Boolean Logic-ho87-gitir
026-Logical Operators-oMNC-gitir
028-CHALLENGE 3 Video Solution-tFsS-gitir
029-The switch Statement-wIrq-gitir
030-Statements and Expressions-jDn4-gitir
031-The Conditional Ternary Operator-p3eD-gitir
033-CHALLENGE 4 Video Solution-7dD6-gitir
034-JavaScript Releases ES5 ES6 and ESNext-9431-gitir
Section 3
JavaScript Fundamentals – Part 2
035-Section Intro-pJPD-gitir
036-Activating Strict Mode-05hs-gitir
037-Functions-pkhz-gitir
038-Function Declarations vs Expressions-lXQi-gitir
039-Arrow Functions-ZPuR-gitir
040-Functions Calling Other Functions-Z8dU-gitir
041-Reviewing Functions-wIpZ-gitir
043-CHALLENGE 1 Video Solution-Oo8c-gitir
044-Introduction to Arrays-CYCz-gitir
045-Basic Array Operations Methods-DL9x-gitir
047-CHALLENGE 2 Video Solution-9R02-gitir
048-Introduction to Objects-Ptzc-gitir
049-Dot vs Bracket Notation-Wyi4-gitir
050-Object Methods-AXSl-gitir
052-CHALLENGE 3 Video Solution-ICyr-gitir
053-Iteration The for Loop-wEhd-gitir
054-Looping Arrays Breaking and Continuing-Jz6P-gitir
055-Looping Backwards and Loops in Loops-ArP1-gitir
056-The while Loop-Jr2f-gitir
058-CHALLENGE 4 Video Solution-ZVCg-gitir
Section 4
How to Navigate This Course
059-Pathways and Section Roadmaps-zQHn-gitir
Section 5
Developer Skills & Editor Setup
061-Section Intro-qA0B-gitir
063-Setting up Prettier and VS Code-Lc15-gitir
064-Installing Node js and Setting Up a Dev Environment-6mAS-gitir
065-Learning How to Code-BQOP-gitir
066-How to Think Like a Developer Become a Problem Solver-kapq-gitir
067-Using Google StackOverflow and MDN-Y2zt-gitir
068-Debugging Fixing Errors-NnlX-gitir
069-Debugging with the Console and Breakpoints-5cj0-gitir
070-CHALLENGE 1-eyx3-gitir
071-The Rise of AI Tools ChatGPT Copilot Cursor AI etc-6mxW-gitir
072-Solving CHALLENGE 2 With AI-Pcln-gitir
Section 6
[OPTIONAL] HTML & CSS Crash Course
077-Introduction to the CSS Box Model-cb46-gitir
073-Section Intro-NVID-gitir
074-Basic HTML Structure and Elements-OEnR-gitir
075-Attributes Classes and IDs-gCIP-gitir
076-Basic Styling with CSS-5uQW-gitir
Section 7
JavaScript in the Browser: DOM and Events [PROJECT]
078-Section Intro-ZpIR-gitir
080-PROJECT 1 Guess My Number-MnVc-gitir
081-What s the DOM and DOM Manipulation-4urZ-gitir
082-Selecting and Manipulating Elements-3n5i-gitir
083-Handling Click Events-JhPo-gitir
084-Implementing the Game Logic-IFHe-gitir
085-Manipulating CSS Styles-HzLc-gitir
086-CHALLENGE 1-VKrk-gitir
087-Implementing Highscores-77ge-gitir
088-Refactoring Our Code The DRY Principle-A2sZ-gitir
089-PROJECT 2 Modal Window-tdu9-gitir
090-Working With Classes-khbO-gitir
091-Handling an Esc Keypress Event-jyR1-gitir
092-PROJECT 3 Pig Game-ahtm-gitir
093-Rolling the Dice-Nvmp-gitir
094-Switching the Active Player-DTVM-gitir
095-Holding Current Score-3A6y-gitir
096-Resetting the Game-gQJB-gitir
Section 8
How JavaScript Works Behind the Scenes
097-Section Intro-FQUF-gitir
099-An High Level Overview of JavaScript-wr5W-gitir
100-The JavaScript Engine and Runtime-vU4t-gitir
101-Execution Contexts and The Call Stack-c0jb-gitir
102-Scope and The Scope Chain-SGfS-gitir
103-Scoping in Practice-nqOf-gitir
104-Variable Environment Hoisting and The TDZ-iVHg-gitir
105-Hoisting and TDZ in Practice-nyKI-gitir
106-The this Keyword-wjok-gitir
107-The this Keyword in Practice-pu6a-gitir
108-Regular Functions vs Arrow Functions-LeWV-gitir
109-Memory Management Primitives vs Objects-7a8e-gitir
110-Object References in Practice Shallow vs Deep Copies-ddFB-gitir
111-Memory Management Garbage Collection-n9Hz-gitir
Section 9
Data Structures, Modern Operators and Strings
112-Section Intro-SFBR-gitir
114-Destructuring Arrays-UFDq-gitir
116-Destructuring Objects-8uPt-gitir
117-The Spread Operator-5CLf-gitir
118-Rest Pattern and Parameters-1tT4-gitir
119-Short Circuiting and-tI29-gitir
120-The Nullish Coalescing Operator-d3bF-gitir
121-Logical Assignment Operators-cfhi-gitir
122-CHALLENGE 1-rUBs-gitir
123-Looping Arrays The for of Loop-zODE-gitir
124-Enhanced Object Literals-EqaE-gitir
125-Optional Chaining-aROP-gitir
126-Looping Objects Object Keys Values and Entries-lWQl-gitir
127-CHALLENGE 2-VJFn-gitir
128-Sets-CHiE-gitir
129-New Operations to Make Sets Useful-uDYL-gitir
130-Maps Fundamentals-18D8-gitir
131-Maps Iteration-Jl49-gitir
132-Summary Which Data Structure to Use-3R6B-gitir
133-CHALLENGE 3-txLd-gitir
134-Working With Strings Part 1-XWIq-gitir
135-Working With Strings Part 2-KPIy-gitir
136-Working With Strings Part 3-qiEF-gitir
137-CHALLENGE 4-K0Wk-gitir
138-String Methods Practice-7H4v-gitir
Section 10
A Closer Look at Functions
139-Section Intro-zSr2-gitir
141-Default Parameters-vKFw-gitir
142-How Passing Arguments Works Value vs Reference-HDsi-gitir
143-First Class and Higher Order Functions-1yVU-gitir
144-Functions Accepting Callback Functions-H6SR-gitir
145-Functions Returning Functions-sSqC-gitir
146-The call and apply Methods-VPQ2-gitir
147-The bind Method-aGsa-gitir
148-CHALLENGE 1-CKuD-gitir
149-Immediately Invoked Function Expressions IIFE-9peN-gitir
150-Closures-dSlP-gitir
151-More Closure Examples-wWaG-gitir
152-CHALLENGE 2-yKGX-gitir
Section 11
Working With Arrays [PROJECT]
153-Section Intro-eSN0-gitir
155-Simple Array Methods-wlJ0-gitir
156-The New at Method-BWje-gitir
157-Looping Arrays forEach-zvJM-gitir
158-forEach With Maps and Sets-evaA-gitir
159-PROJECT Bankist App-GQNc-gitir
160-Creating DOM Elements-qrBt-gitir
161-CHALLENGE 1-zI6G-gitir
162-Data Transformations map filter reduce-NiJr-gitir
163-The map Method-UlfZ-gitir
164-Computing Usernames-XdX0-gitir
165-The filter Method-dyF4-gitir
166-The reduce Method-XyO3-gitir
167-CHALLENGE 2-HvKO-gitir
168-The Magic of Chaining Methods-QdX2-gitir
169-CHALLENGE 3-lmA5-gitir
170-The find Method-bSJg-gitir
171-Implementing Login-1Qka-gitir
172-Implementing Transfers-y0Sr-gitir
173-The findIndex Method-QuGm-gitir
174-The New findLast and findLastIndex Methods-AemL-gitir
175-some and every-fTXm-gitir
176-flat and flatMap-kKzO-gitir
177-CHALLENGE 4-Ikrr-gitir
178-Sorting Arrays-2vsG-gitir
179-Array Grouping-ykXI-gitir
180-More Ways of Creating and Filling Arrays-xDy8-gitir
181-Non Destructive Alternatives toReversed toSorted toSpliced with-JMxs-gitir
182-Summary Which Array Method to Use-hVq1-gitir
183-Array Methods Practice-Yhik-gitir
184-CHALLENGE 5-6nud-gitir
Section 12
Numbers, Dates, Intl and Timers [PROJECT]
185-Section Intro-tJjV-gitir
187-Converting and Checking Numbers-zkOx-gitir
188-Math and Rounding-zrA2-gitir
189-The Remainder Operator-BkoR-gitir
190-Numeric Separators-4UsR-gitir
191-Working with BigInt-T2gt-gitir
192-Creating Dates-m0Qk-gitir
193-Adding Dates to Bankist App-eJ24-gitir
194-Fixing a Sorting Bug-4hIr-gitir
195-Operations With Dates-gZm8-gitir
196-Internationalizing Dates Intl-BwrC-gitir
197-Internationalizing Numbers Intl-BWzn-gitir
198-Timers setTimeout and setInterval-oQ8a-gitir
199-Implementing a Countdown Timer-rtil-gitir
Section 13
Advanced DOM and Events [PROJECT]
200-Section Intro-ST46-gitir
202-PROJECT Bankist Website-u4Gk-gitir
203-How the DOM Really Works-sB8R-gitir
204-Selecting Creating and Deleting Elements-iNxy-gitir
205-Styles Attributes and Classes-u088-gitir
206-Implementing Smooth Scrolling-l9wV-gitir
207-Types of Events and Event Handlers-NOTU-gitir
208-Event Propagation Bubbling and Capturing-lXe0-gitir
209-Event Propagation in Practice-Ae13-gitir
210-Event Delegation Implementing Page Navigation-lcyq-gitir
211-DOM Traversing-eJ0H-gitir
212-Building a Tabbed Component-HkNE-gitir
213-Passing Arguments to Event Handlers-aAgp-gitir
214-Implementing a Sticky Navigation The Scroll Event-vq9Q-gitir
215-A Better Way The Intersection Observer API-Nytd-gitir
216-Revealing Elements on Scroll-v8u1-gitir
217-Fixing a Small Scrolling Bug-VICB-gitir
218-Lazy Loading Images-iR32-gitir
219-Building a Slider Component Part 1-584S-gitir
220-Building a Slider Component Part 2-hT2G-gitir
221-Lifecycle DOM Events-Qgrg-gitir
222-Efficient Script Loading defer and async-hB0l-gitir
Section 14
Object-Oriented Programming (OOP) With JavaScript
223-Section Intro-0NFF-gitir
225-What is Object Oriented Programming-rFu7-gitir
226-OOP in JavaScript-m63s-gitir
227-Constructor Functions and the new Operator-bfEl-gitir
228-Prototypes-dsBp-gitir
229-Prototypal Inheritance and The Prototype Chain-MTWj-gitir
230-Prototypal Inheritance on Built In Objects-oorZ-gitir
231-CHALLENGE 1-bw1q-gitir
232-ES6 Classes-eoMI-gitir
233-Setters and Getters-5IUP-gitir
234-Static Methods-wmqs-gitir
235-Object create-pXUj-gitir
236-CHALLENGE 2-Fxi7-gitir
237-Inheritance Between Classes Constructor Functions-O6A3-gitir
238-CHALLENGE 3-TC0F-gitir
239-Inheritance Between Classes ES6 Classes-c053-gitir
240-Inheritance Between Classes Object create-qt5M-gitir
241-Another Class Example-I9F2-gitir
242-Encapsulation Private Class Fields and Methods-eltD-gitir
243-Chaining Methods-QPzG-gitir
244-ES6 Classes Summary-xAHv-gitir
245-CHALLENGE 4-1VD7-gitir
Section 15
Mapty App: OOP, Geolocation, External Libraries, and More! [PROJECT]
246-Section Intro-d5aU-gitir
248-Project Overview-wlQl-gitir
249-How to Plan a Web Project-cADd-gitir
250-Using the Geolocation API-nysO-gitir
251-Displaying a Map Using Leaflet Library-cn8n-gitir
252-Displaying a Map Marker-hg7X-gitir
253-Rendering Workout Input Form-ZChS-gitir
254-Project Architecture-QjZw-gitir
255-Refactoring for Project Architecture-LLFd-gitir
256-Managing Workout Data Creating Classes-P0vY-gitir
257-Creating a New Workout-0390-gitir
258-Rendering Workouts-UGmZ-gitir
259-Move to Marker On Click-C2xS-gitir
260-Working with localStorage-vn0i-gitir
261-Final Considerations-HoMO-gitir
Section 16
Asynchronous JavaScript: Promises, Async/Await, and AJAX
262-Section Intro-f6bu-gitir
264-Asynchronous JavaScript AJAX and APIs-gxTy-gitir
266-Our First AJAX Call XMLHttpRequest-XQSx-gitir
267-OPTIONAL How the Web Works Requests and Responses-RO5u-gitir
268-Welcome to Callback Hell-7LR3-gitir
269-Promises and the Fetch API-Pjnk-gitir
270-Consuming Promises-bg0N-gitir
271-Chaining Promises-CHEY-gitir
272-Handling Rejected Promises-hQ6U-gitir
273-Throwing Errors Manually-KHca-gitir
274-CHALLENGE 1-8g4r-gitir
275-Asynchronous Behind the Scenes The Event Loop-xjQT-gitir
276-The Event Loop in Practice-kwI3-gitir
277-Building a Simple Promise-aIQQ-gitir
278-Promisifying the Geolocation API-HCGi-gitir
279-CHALLENGE 2-OCPU-gitir
280-Consuming Promises with Async Await-z03i-gitir
281-Error Handling With try catch-MuC4-gitir
282-Returning Values from Async Functions-Fl0Q-gitir
283-Running Promises in Parallel-srRc-gitir
284-Other Promise Combinators race allSettled and any-FnRa-gitir
285-CHALLENGE 3-1Vl8-gitir
Section 17
Modern JavaScript Development: Modules, Tooling, and Functional
286-Section Intro-NExZ-gitir
288-An Overview of Modern JavaScript Development-JymN-gitir
289-An Overview of Modules in JavaScript-5n12-gitir
290-Exporting and Importing in ES6 Modules-XG88-gitir
291-Top Level await ES2022-CGJ9-gitir
292-The Module Pattern-Of5E-gitir
293-CommonJS Modules-JNNv-gitir
294-A Brief Introduction to the Command Line-AwEL-gitir
295-Introduction to NPM-YZoA-gitir
296-Bundling With Parcel and NPM Scripts-cwxG-gitir
297-Configuring Babel and Polyfilling-x2YX-gitir
298-Review Writing Clean and Modern JavaScript-LalK-gitir
299-Let s Fix Some Bad Code Part 1-jTol-gitir
300-Declarative and Functional JavaScript Principles-Ezow-gitir
301-Let s Fix Some Bad Code Part 2-ZSaE-gitir
Section 18
Forkify App: Building a Modern Application [PROJECT]
302-Section Intro-Dirc-gitir
304-Project Overview and Planning I-3g4y-gitir
306-Loading a Recipe from API-uc1Y-gitir
307-Rendering the Recipe-7ixe-gitir
308-Listening For load and hashchange Events-Sg06-gitir
309-The MVC Architecture-dtd4-gitir
310-Refactoring for MVC-ppNF-gitir
311-Helpers and Configuration Files-35Sv-gitir
312-Event Handlers in MVC Publisher Subscriber Pattern-Hxeh-gitir
313-Implementing Error and Success Messages-IjKz-gitir
314-Implementing Search Results Part 1-0Wba-gitir
315-Implementing Search Results Part 2-gwbv-gitir
316-Implementing Pagination Part 1-q6fc-gitir
317-Implementing Pagination Part 2-R65l-gitir
318-Project Planning II-fEKE-gitir
319-Updating Recipe Servings-wCfh-gitir
320-Developing a DOM Updating Algorithm-TldQ-gitir
321-Implementing Bookmarks Part 1-lDYl-gitir
322-Implementing Bookmarks Part 2-GDTD-gitir
323-Storing Bookmarks With localStorage-gw4W-gitir
324-Project Planning III-Ujt4-gitir
325-Uploading a New Recipe Part 1-lyVK-gitir
326-Uploading a New Recipe Part 2-MkHY-gitir
327-Uploading a New Recipe Part 3-goWs-gitir
328-Wrapping Up Final Considerations-TEX0-gitir
Section 19
Setting Up Git and Deployment
330-Section Roadmap-eoSN-gitir
331-Simple Deployment With Netlify-nAIq-gitir
332-Setting Up Git and GitHub-2v9E-gitir
333-Git Fundamentals-nfHv-gitir
334-Pushing to GitHub-B6DP-gitir
335-Setting Up Continuous Integration With Netlify-3xob-gitir
Section 20
The End!
336-Where to Go from Here-Jtvb-gitir
Instructors
Enrolment options
The Complete JavaScript Course 2025 From Zero to Expert
Course modified date:
13 Apr 2025
Enrolled students:
There are no students enrolled in this course.
Guests cannot access this course. Please log in.
Continue
Enrol now
This course includes
Resources
Share this course
Scroll to top
×
Close
×
Close