Course Overview
Transform your basic JavaScript knowledge into expert-level skills with this brand-new comprehensive course designed for those ready to take the next big leap in their programming career. If you've ever found yourself intimidated by JavaScript's more complex features or struggled to grasp its intricate concepts, this course is tailor-made for you. If you've taken a few Udemy courses on JavaScript and don't know where to go next, this course is for you!
This course demystifies the 'scary' and tricky parts of JavaScript, guiding you through the intricate details and advanced aspects with ease. By the end of this journey, you'll not only understand these concepts but also skillfully apply them in real-world scenarios.
Key Topics Covered:
Object-Oriented Programming (OOP): SOLID design principles, prototypes, private class fields, etc.
JavaScript Design Patterns: Proxy objects, module pattern, singleton pattern, observer pattern, mixin pattern, registry pattern, and others.
Advanced JavaScript APIs: IndexedDB, Geolocation, Web Sockets, Notifications API, Canvas, getUserMedia, and more.
'this' Keyword Mastery: Deep dive into 'this', call, apply, and bind methods.
Asynchronous Programming: Master promises, async/await, asynchronous design patterns, and write your own promise objects
Modern JavaScript Features: Optional chaining, nullish coalescing, logical assignment operators, and other ES2021 & ES2022 features
Tricky Parts of JavaScript: Tackle closures, float imprecision, BigInt, automatic semicolon insertion and a bunch more.
Functional Programming Techniques: Recursion, currying, composition, partial application, and more.
Whether you're a self-taught programmer, a computer science student, or a professional developer looking to sharpen your JavaScript skills, this course will elevate your coding abilities, preparing you to handle advanced web development challenges with confidence and expertise.
FAQ
FAQ area empty
Course curriculum
-
Working With Plain Old JavaScript Objects
346 Xem trước -
Mixing Data & Functions With Objects
431 Xem trước -
Class Basics
603 -
Constructors
382 -
Practice Time: Bank Account
434 -
Instance Methods
215 -
Inheritance Basics
385 -
The Super Keyword
417 -
Static Properties
278 -
Static Methods
267 -
Use Cases For Static Methods
394 -
Ebook Exercise
0 -
ArrayUtils exercise
0
-
Introducing This
203 -
The Mystery of The Keyword This
172 -
Global Objects and This
216 -
The "Left Of The Dot" Rule
306 -
This and Classes
364 -
The Call Method
324 -
The Apply Method
387 -
The Bind Method
251 -
Binding Arguments
366 -
Bind With Event Listeners
295 -
Bind With Timers
429 -
Arrow Functions and This
260 -
This Takeaways
454 -
Buggy Code `this` Exercise
0 -
Buggy Code `this` Timers Exercise
0
-
Callbacks: Our Good Friend
384 -
Callback Hell & The Pyramid of Doom
550 -
The Basics of Promises
361 -
Using .then() and .catch()
217 -
Promise Chaining To Flatten Code
418 -
Error Handling With Promises
254 -
Async/Await Basics
297 -
More on Async/Await
279 -
Error Handling With Async Functions
262 -
Async Patterns: Parallel Async Operations
409 -
Async Patterns: Sequential Async Operations
160 -
Async Patterns: Promise.all()
280 -
Async Patterns: Promise.allSettled()
289 -
Async Patterns: Promise.race()
153 -
Building Our Own Promise Objects
711 -
Promisifying Node's fs.readFile()
575 -
Section Quiz
-
Optional Chaining
581 -
Nullish Coalescing
389 -
Numeric Separators
126 -
Array.prototype.at()
106 -
String replaceAll()
226 -
Logical OR Assignment ||=
246 -
Logical AND Assignment &&=
225 -
Nullish Coalescing Assignment ??=
336 -
Promise.any()
381 -
New OOP Features: Private Fields & Static Initialization Blocks
69 -
Section Quiz
-
Working With Float Imprecision
332 -
BigInt() and Really Large Numbers
352 -
IsNan() vs. Number.isNaN()
261 -
Post and Pre Increment: ++x vs. x++
344 -
Automatic Semicolon Insertion
237 -
JavaScript Generator Functions
463 -
When Are Generators Useful?
300 -
The Incredibly Versatile Array.from() Method
396 -
ParseAndCheck Exercise
0 -
Prefix and Postfix Exercise
0 -
RangeGenerator Exercise
0 -
Section Quiz
-
Recaping Var & Scope
270 -
Recaping Let, Const, & Scope
451 -
The Scope Chain
442 -
Static Scope
177 -
Hoisting
420 -
IIFEs
207 -
Closures: The Basics
442 -
Closures: Another Example
301 -
Closures: Factory Functions
451 -
Closures: Event Listeners
391 -
Closures: Loops
312 -
Guessing Game Exercise
0 -
Bank Account Exercise
0 -
Special Add Exercise
0 -
Section Quiz
-
SetTimeout
343 -
SetInterval
293 -
ClearInterval
249 -
ClearTimeout
328 -
Debouncing
509 -
Writing a Fancy Debounce Function
597 -
Throttling
475 -
Building a Fancy Throttle Function
446 -
RequestAnimationFrame Basics
439 -
RequestAnimationFrame With Timestamps
246 -
Scroll To Top Animation With RequestAnimationFrame
660 -
Section Quiz
-
Introducing Functional Programming
576 -
First Class Functions
327 -
Writing Pure Functions
346 -
Returning Functions
296 -
Immutability
371 -
Recursion
385 -
Partial Application With Bind
293 -
Writing a Partial Function
534 -
Composition Basics
312 -
A Simple Compose Function
210 -
Writing a Fancier Compose Function
421 -
Currying Basics
305 -
More Advanced Currying
554 -
Dice Game Intro
289 -
Dice Game Simple FP
520 -
Dice Game Going Overboard with FP
676 -
Functional Programming Wrapup
266 -
Flip Exercise
0 -
FP Stylizer Exercise
-
Section Quiz
-
LocalStorage Basics
337 -
LocalStorage With Complex Objects
338 -
What Should & Should Not Go In LocalStorage
233 -
Creating a Darkmode Toggle With LocalStorage
606 -
Localstorage Notes App Demo
954 -
Syncing Tabs With The Storage Event
370 -
SessionStorage Basics
449 -
Session Storage Form Demo
823 -
IndexedDB: Enter At Your Own Risk!
918 -
Section Quiz
Requirment
-
Basic JavaScript knowledge: familiarity with functions, loops, conditionals, etc.
Outcomes
-
Explore Advanced JavaScript Patterns and Practices: proxy objects, observers, generators, and more
-
Apply Advanced Functional Programming Techniques: currying, composition, and more
-
Understand Scope, Closures, and Hoisting
-
Work with JavaScript APIs including Intersection Observers, Canvas, Web Sockets, and more
-
Master the trickiest parts of JavaScript
-
Learn the latest ES2021 & ES2022 features
0 Student
1 Course
0 review