Mô tả

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.

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

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

Yêu cầu

  • Basic JavaScript knowledge: familiarity with functions, loops, conditionals, etc.

Nội dung khoá học

20 sections

Introduction

5 lectures
Course Welcome & Introduction
02:36
Curriculum Walkthrough
11:06
Getting The Course Code
01:30
Course Slides and Handouts
00:21
My Developer Environment
02:29

Object Oriented JavaScript

14 lectures
Working With Plain Old JavaScript Objects
05:46
Mixing Data & Functions With Objects
07:11
Class Basics
10:03
Constructors
06:22
Practice Time: Bank Account
07:14
Instance Methods
03:35
Inheritance Basics
06:25
The Super Keyword
06:57
Static Properties
04:38
Static Methods
04:27
Use Cases For Static Methods
06:34
Ebook Exercise
1 question
ArrayUtils exercise
1 question
Connect Four OO Exercise
00:06

OOP: Newer Features in JavaScript

9 lectures
Getters
06:20
Setters
09:17
Practice Time: Getters and Setters
03:46
Public Fields
08:56
Private Fields
06:25
Private Methods
02:31
ES2022 Static Initialization Blocks
05:41
Getters and Setters exercise
1 question
Section Quiz
5 questions

The Mysterious Keyword "This"

15 lectures
Introducing This
03:23
The Mystery of The Keyword This
02:52
Global Objects and This
03:36
The "Left Of The Dot" Rule
05:06
This and Classes
06:04
The Call Method
05:24
The Apply Method
06:27
The Bind Method
04:11
Binding Arguments
06:06
Bind With Event Listeners
04:55
Bind With Timers
07:09
Arrow Functions and This
04:20
This Takeaways
07:34
Buggy Code `this` Exercise
1 question
Buggy Code `this` Timers Exercise
1 question

OOP Under The Hood: Prototypes, New, & More!

10 lectures
OOP Under The Hood Intro
03:24
The New Keyword
08:26
Prototypes: Part 1
07:13
Prototypes: Part 2
06:43
Prototypes: Part 3
06:07
The Prototype Chain
06:56
Classes, Inheritance, & Prototypes
10:20
__proto__ vs. prototype
02:34
Useful Prototype Methods
05:31
Section Quiz
5 questions

Asynchronous Code

18 lectures
Callbacks: Our Good Friend
06:24
Callback Hell & The Pyramid of Doom
09:10
The Basics of Promises
06:01
Using .then() and .catch()
03:37
Promise Chaining To Flatten Code
06:58
Error Handling With Promises
04:14
Async/Await Basics
04:57
More on Async/Await
04:39
Error Handling With Async Functions
04:22
Async Patterns: Parallel Async Operations
06:49
Async Patterns: Sequential Async Operations
02:40
Async Patterns: Promise.all()
04:40
Async Patterns: Promise.allSettled()
04:49
Async Patterns: Promise.race()
02:33
Building Our Own Promise Objects
11:51
Promisifying Node's fs.readFile()
09:35
Async Num Cards Exercise
00:06
Section Quiz
7 questions

Latest JavaScript Features

11 lectures
Optional Chaining
09:41
Nullish Coalescing
06:29
Numeric Separators
02:06
Array.prototype.at()
01:46
String replaceAll()
03:46
Logical OR Assignment ||=
04:06
Logical AND Assignment &&=
03:45
Nullish Coalescing Assignment ??=
05:36
Promise.any()
06:21
New OOP Features: Private Fields & Static Initialization Blocks
01:09
Section Quiz
4 questions

The Tricky Parts of JavaScript

12 lectures
Working With Float Imprecision
05:32
BigInt() and Really Large Numbers
05:52
isNan() vs. Number.isNaN()
04:21
Post and Pre Increment: ++x vs. x++
05:44
Automatic Semicolon Insertion
03:57
JavaScript Generator Functions
07:43
When Are Generators Useful?
05:00
The Incredibly Versatile Array.from() Method
06:36
parseAndCheck Exercise
1 question
Prefix and Postfix Exercise
1 question
rangeGenerator Exercise
1 question
Section Quiz
5 questions

The Tricky Parts: Scope & Closures

15 lectures
Recaping Var & Scope
04:30
Recaping Let, Const, & Scope
07:31
The Scope Chain
07:22
Static Scope
02:57
Hoisting
07:00
IIFEs
03:27
Closures: The Basics
07:22
Closures: Another Example
05:01
Closures: Factory Functions
07:31
Closures: Event Listeners
06:31
Closures: Loops
05:12
Guessing Game Exercise
1 question
Bank Account Exercise
1 question
Special Add Exercise
1 question
Section Quiz
4 questions

Timers: Debouncing, Throttling, & RequestAnimationFrame

12 lectures
setTimeout
05:43
setInterval
04:53
clearInterval
04:09
clearTimeout
05:28
Debouncing
08:29
Writing a Fancy Debounce Function
09:57
Throttling
07:55
Building a Fancy Throttle Function
07:26
requestAnimationFrame Basics
07:19
requestAnimationFrame With Timestamps
04:06
Scroll To Top Animation With RequestAnimationFrame
11:00
Section Quiz
4 questions

Functional Programming

20 lectures
Introducing Functional Programming
09:36
First Class Functions
05:27
Writing Pure Functions
05:46
Returning Functions
04:56
Immutability
06:11
Recursion
06:25
Partial Application With Bind
04:53
Writing a Partial Function
08:54
Composition Basics
05:12
A Simple Compose Function
03:30
Writing a Fancier Compose Function
07:01
Currying Basics
05:05
More Advanced Currying
09:14
Dice Game Intro
04:49
Dice Game Simple FP
08:40
Dice Game Going Overboard with FP
11:16
Functional Programming Wrapup
04:26
Flip Exercise
1 question
FP Stylizer Exercise
00:06
Section Quiz
5 questions

Fetch API

7 lectures
The Basics of Fetch
06:11
Error Handling With Fetch
08:15
Sending Request Headers With Fetch
08:08
POST Requests With Fetch
05:23
Uploading Files With Fetch
05:43
JSON Placeholder Exercise
00:06
Section Quiz
2 questions

Web Storage APIs

10 lectures
LocalStorage Basics
05:37
LocalStorage With Complex Objects
05:38
What Should & Should Not Go In LocalStorage
03:53
Creating a Darkmode Toggle With LocalStorage
10:06
Localstorage Notes App Demo
15:54
Syncing Tabs With The Storage Event
06:10
SessionStorage Basics
07:29
Session Storage Form Demo
13:43
IndexedDB: Enter At Your Own Risk!
15:18
Section Quiz
3 questions

Browser APIs: Geolocation, Intersection Observers, and More!

7 lectures
Using the Geolocation API
12:23
The getUserMedia API
13:06
Intersection Observers: Basics
08:30
Intersection Observers: Thresholds
06:18
Intersection Observers: Tracking Ad View Time
06:22
Intersection Observers: Multiple Entries
04:11
Intersection Observers: Lazy Loading Images
07:44

Performance API & Web Audio

5 lectures
Performance API Basics
09:57
Measuring Resource Load Times With Performance API
06:13
The Web Audio API Basics
05:44
Web Audio Theremin Slider Demo
07:15
Web Audio API Use Cases
03:49

Canvas API

8 lectures
Intro To The Canvas API
05:22
Canvas Basics:
05:26
Canvas Strokes and Lines
07:22
Canvas Arcs and Paths
05:24
Other Canvas Features
02:52
Building A Bouncing Balls Toy Pt 1
10:34
Building A Bouncing Balls Demo Pt 2
07:20
Building A Bouncing Balls Demo Pt 3
07:10

Web Sockets API

6 lectures
Introducing Web Sockets
08:08
Basics Of The Web Sockets API
11:04
Web Socket Events
04:32
Building A Chat App With Web Sockets: Pt 1
14:21
Building A Chat App With Web Sockets: Pt 2
11:37
Building A Chat App With Web Sockets: Pt 3
06:41

Notifications API

5 lectures
Sending Notifications
05:53
Notification Events
04:04
Notifications With Icons and Data
02:43
Adding Notifications To Our Chat App: Pt. 1
10:33
Adding Notifications To Our Chat App: Pt. 2
03:46

SOLID OOP Principles

7 lectures
Single Responsibility Principle
07:11
Open/Closed Principle
07:42
Liskov Substitution Principle
05:30
Interface Segregation Principle
04:50
Dependency Inversion Principle
05:54
Law Of Demeter
08:39
Section Quiz
7 questions

Design Patterns & Proxy Objects

9 lectures
Module Pattern
08:49
Singleton Pattern
09:06
Observer Pattern
09:51
Registry Pattern
08:24
Mixin Pattern
06:17
Proxy Pattern With Proxy Objects
10:22
Proxying Function Calls
07:02
Implementing Data Binding With Proxy Objects
07:37
Section Quiz
4 questions

Đá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.