Advanced Javascript Concepts

Learn modern advanced JavaScript practices and be in the top 10% of JavaScript developers

Last updated 2022-01-10 | 4.7

- Advanced JavaScript Practices
- Object Oriented Programming
- Functional Programming

What you'll learn

Advanced JavaScript Practices
Object Oriented Programming
Functional Programming
Scope and Execution Context
Inheritance + Prototype Chain
Latest features: ES6
ES7
ES8
ES9
ES10
ES2020
ES2021
Closures
Asynchronous JavaScript + Event Loop
JavaScript Modules
`this` keyword
JavaScript Engine and Runtime
Error Handling
Stack Overflow
Memory Leaks
Composition vs Inheritance
Type Coersion
Pass By Reference vs Pass by Value
Higher Order Functions
IIFE
.call()
.apply()
.bind()
Interpreter/ Compiler/ JIT Compiler
Garbage Collection
Hoisting
JavaScript best practices

* Requirements

* Any computer will work: Windows
* macOS or Linux
* Basic/Minimal understanding of JavaScript

Description

  • Advanced JavaScript Practices
  • Object Oriented Programming
  • Functional Programming
  • Scope and Execution Context
  • Inheritance + Prototype Chain
  • Latest features: ES6, ES7, ES8, ES9, ES10, ES2020, ES2021
  • Closures
  • Asynchronous JavaScript + Event Loop
  • JavaScript Modules
  • `this` keyword
  • JavaScript Engine and Runtime
  • Error Handling
  • Stack Overflow
  • Memory Leaks
  • Composition vs Inheritance
  • Type Coersion
  • Pass By Reference vs Pass by Value
  • Higher Order Functions
  • IIFE
  • .call(), .apply(), .bind()
  • Interpreter/ Compiler/ JIT Compiler
  • Garbage Collection
  • Hoisting
  • JavaScript best practices

Course content

17 sections • 230 lectures

How To Succeed In This Course Preview 05:37

Join Our Online Classroom Preview 01:15

Exercise: Meet The Community! Preview 01:24

Monthly Coding Challenges, Free Resources and Guides Preview 00:40

Section Overview Preview 02:27

Javascript Engine Preview 05:28

Exercise: Javascript Engine Preview 00:56

Inside the Engine Preview 04:05

Exercise: JS Engine For All Preview 02:33

Interpreters and Compilers Preview 06:21

Babel + TypeScript Preview 00:17

Inside the V8 Engine Preview 08:56

Comparing Other Languages Preview 04:15

Writing Optimized Code Preview 08:53

WebAssembly Preview 03:15

Call Stack and Memory Heap Preview 14:37

Stack Overflow Preview 03:21

Garbage Collection Preview 04:30

Memory Leaks Preview 06:34

Single Threaded Preview 01:58

Exercise: Issue With Single Thread Preview 02:40

Javascript Runtime Preview 14:07

Node.js Preview 06:27

Exercise: Fix This Code Preview 00:26

Section Review Preview 05:02

Web Developer Monthly Preview 00:21

Advanced JavaScript Cheatsheet Preview 00:09

Endorsements On LinkedIN Preview 00:39

Section Overview Preview 01:06

Execution Context Preview 08:35

Lexical Environment Preview 05:39

Hoisting Preview 10:47

Exercise: Hoisting Preview 03:58

Exercise: Hoisting 2 Preview 07:06

Exercise: Hoisting 3 Preview 00:03

Function Invocation Preview 06:59

arguments Keyword Preview 04:22

Variable Environment Preview 06:41

Scope Chain Preview 12:20

[[scope]] Preview 02:03

Exercise: JS is Weird Preview 04:57

Function Scope vs Block Scope Preview 03:35

Exercise: Block Scope Preview 03:45

Global Variables Preview 04:10

IIFE Preview 13:38

this Keyword Preview 16:59

Exercise: Dynamic Scope vs Lexical Scope Preview 12:08

call(), apply(), bind() Preview 11:17

Exercise: call(), apply() Preview 00:05

bind() and currying Preview 03:42

Exercise: this Keyword Preview 03:09

Exercise: this Keyword 2 Preview 00:11

Context vs Scope Preview 01:08

Section Review Preview 02:47

Section Overview Preview 01:22

Javascript Types Preview 13:40

Array.isArray() Preview 02:17

Pass By Value vs Pass By Reference Preview 17:06

Exercise: Compare Objects Preview 00:15

Exercise: Pass By Reference Preview 00:03

Type Coercion Preview 09:02

Exercise: Type Coercion Preview 00:07

Quick Note: Upcoming Videos Preview 00:11

JTS: Dynamic vs Static Typing Preview 11:50

JTS: Weakly vs Strongly Typed Preview 03:18

JTS: Static Typing In JavaScript Preview 09:45

Section Overview Preview 01:54

Functions are Objects Preview 09:18

First Class Citizens Preview 04:04

Extra Bits: Functions Preview 03:25

Higher Order Functions Preview 17:14

Exercise: Higher Order Functions Preview 03:45

Closures Preview 15:10

Exercise: Closures Preview 03:18

Closures and Memory Preview 07:52

Closures and Encapsulation Preview 07:41

Exercise: Closures 2 Preview 01:31

Solution: Closures 2 Preview 02:34

Exercise: Closures 3 Preview 01:28

Solution: Closures 3 Preview 03:47

Closures Review Preview 01:34

Prototypal Inheritance Preview 06:47

Prototypal Inheritance 2 Preview 09:07

Prototypal Inheritance 3 Preview 07:46

Prototypal Inheritance 4 Preview 10:35

Prototypal Inheritance 5 Preview 02:43

Prototypal Inheritance 6 Preview 09:16

Exercise: Prototypal Inheritance Preview 02:55

Solution: Prototypal Inheritance Preview 08:20

Exercise: Prototypal Inheritance with this Preview 00:06

Section Review Preview 03:57

Section Overview Preview 06:24

OOP and FP Preview 03:50

OOP Introduction Preview 03:21

OOP1: Factory Functions Preview 08:20

OOP2: Object.create() Preview 07:38

OOP3: Constructor Functions Preview 13:00

More Constructor Functions Preview 08:38

Funny Thing About JS... Preview 02:52

OOP4: ES6 Classes Preview 08:44

Object.create() vs Class Preview 01:48

this - 4 Ways Preview 04:44

Inheritance Preview 14:41

Inheritance 2 Preview 05:25

ES2020: Private Class Variables Preview 00:14

Public vs Private Preview 04:21

OOP in React.js Preview 03:05

4 Pillars of OOP Preview 08:17

Exercise: OOP and Polymorphism Preview 00:16

Reviewing OOP Preview 02:06

Section Overview Preview 02:29

Functional Programming Introduction Preview 03:31

Exercise: Amazon Preview 03:37

Pure Functions Preview 04:35

Pure Functions 2 Preview 07:47

Can Everything Be Pure? Preview 04:33

Idempotent Preview 04:08

Imperative vs Declarative Preview 06:27

Immutability Preview 05:28

Higher Order Functions and Closures Preview 07:49

Currying Preview 04:24

Partial Application Preview 04:24

Quick Note: Upcoming Videos Preview 00:12

MCI: Memoization 1 Preview 07:47

MCI: Memoization 2 Preview 03:56

Compose and Pipe Preview 12:33

Arity Preview 01:46

Is FP The Answer To Everything? Preview 02:54

Solution: Amazon Preview 21:48

Reviewing FP Preview 05:14

Composition vs Inheritance Preview 16:20

OOP vs FP Preview 04:29

OOP vs FP 2 Preview 05:19

Section Overview Preview 04:51

Quick Note: Upcoming Videos Preview 00:28

How JavaScript Works Preview 24:12

Promises Preview 22:26

ES8 - Async Await Preview 15:22

ES9 (ES2018) Preview 05:21

ES9 (ES2018) - Async Preview 11:11

Job Queue Preview 06:55

Parallel, Sequence and Race Preview 10:00

ES2020: allSettled() Preview 04:22

ES2021: any() Preview 00:33

Threads, Concurrency and Parallelism Preview 11:27

Section Overview Preview 02:44

What Is A Module? Preview 11:05

Module Pattern Preview 13:05

Module Pattern Pros and Cons Preview 04:53

CommonJS, AMD, UMD Preview 10:05

ES6 Modules Preview 08:52

Section Review Preview 02:14

Section Overview Preview 01:07

Errors In JavaScript Preview 08:52

Try Catch Preview 09:53

Async Error Handling Preview 12:56

Async Error Handling 2 Preview 03:30

Exercise: Error Handling Preview 00:01

Extending Errors Preview 05:08

Section Review Preview 01:18

Learning Guideline Preview 00:10

Endorsements On LinkedIN Preview 00:39

Become an Alumni Preview 00:37

Coding Challenges Preview 00:29

Thank You Preview 00:39

Extra Materials Preview 00:08

Quick Note: Upcoming Videos Preview 00:10

Section Overview Preview 01:58

What Is A Data Structure? Preview 05:53

How Computers Store Data Preview 12:33

Data Structures In Different Languages Preview 03:27

Operations On Data Structures Preview 03:05

Array Introduction Preview 13:51

Static vs Dynamic Arrays Preview 06:40

Implementing An Array Preview 17:19

Strings and Arrays Preview 01:04

Exercise: Reverse A String Preview 01:35

Solution Reverse A String Preview 10:31

Exercise: Merge Sorted Arrays Preview 00:44

Solution: Merge Sorted Arrays Preview 14:12

Arrays Review Preview 03:28

Hash Tables Introduction Preview 04:10

Hash Function Preview 05:56

Hash Collisions Preview 09:43

Hash Tables In Different Languages Preview 03:30

Exercise: Implement A Hash Table Preview 03:51

Solution: Implement A Hash Table Preview 17:24

keys() Preview 06:11

Hash Tables vs Arrays Preview 02:01

Exercise: First Recurring Character Preview 01:18

Solution: First Recurring Character Preview 16:11

Hash Tables Review Preview 06:09

Quick Note: Upcoming Videos Preview 00:12

What is JavaScript? Preview 05:33

Your First JavaScript Preview 11:41

Variables Preview 15:09

Control Flow Preview 16:36

JavaScript On Our Webpage Preview 09:05

Functions Preview 23:53

Data Structures: Arrays Preview 13:06

Data Structures: Objects Preview 15:25

Exercise: Build Facebook Preview 11:16

JavaScript Terminology Preview 03:43

Loops Preview 22:22

Exercise: Build Facebook 2 Preview 08:02

JavaScript Keywords Preview 03:02

Quick Note: Upcoming Videos Preview 00:12

Scope Preview 10:26

Advanced Control Flow Preview 11:42

ES5 and ES6 Preview 26:41

Advanced Functions Preview 20:04

Advanced Arrays Preview 16:40

Advanced Objects Preview 24:51

ES7 Preview 03:06

ES8 Preview 09:19

Note: ES9 + ES8 Async Await Preview 00:16

ES10 (ES2019) Preview 16:49

Advanced Loops Preview 12:04

ES2020 Part 1 Preview 10:07

ES2020 Part 2 Preview 03:29

ES2020 Part 3 Preview 04:10

ES2020: globalThis Preview 03:14

ES2021 Preview 03:08

Debugging Preview 08:23

Modules Preview 13:19

Notes To Review The Course Preview 00:08

AMA - 100,000 Students!! Preview 38:30

Course Review

The Final Challenge