Advanced JavaScript Topics

In Depth JavaScript Training for Mastering Important Patterns, the Power of Functions, OOP Concepts, JavaScript Projects
Advanced JavaScript Topics
File Size :
5.80 GB
Total length :
18h 3m



Steven Hancock


Last update

Last updated 10/2022



Advanced JavaScript Topics

What you’ll learn

Apply first-class and higher order functions in your coding practices.
Explain the different scenarios that affect the value of this.
Identify the object to which this is bound.
Manipulate this binding to accomplish programing problems.
Use prototypes in your coding.
Understand and use IIFEs in your code.
Define closure and take advantage of it in your code.
Apply the namespace and module pattern to your coding projects.
Create JSON files.
Load and use JSON data in a project.
Manipulate properties on JavaScript objects.
Apply OOP principles to your JavaScript coding practices.
Make use of constructors and Object create for setting up objects and prototypes.
Understand and apply the true nature of JavaScript inheritance.
Explain functional programming concepts.
Apply functional programming techniques to your JavaScript projects.

Advanced JavaScript Topics


This is an advanced course in JavaScript, so you should have taken the beginning course: Learn Modern JavaScript: Getting Started or you should have a good familiarity with the basics of JavaScript.


Advanced Topics picks up where the Getting Started course ended. You should now have some experience with JavaScript and understand the JavaScript language much better. Therefore, you are ready to learn more of the nuances and important patterns that advanced JavaScript developers know and use.In Learn Modern JavaScript: Advanced Topics, we explore the more advanced techniques in JavaScript. You learn advanced concepts for objects and functions, the value of ‘this’, the power of functions using closure and IIFEs. You learn about the namespace and module patterns. You learn JSON and how to load a JSON file. You will follow along as we apply OOP concepts to a project. You get very familiar with the prototype, and these are just the main topics covered in this advanced course. A new bonus section helps you get familiar with functional programming concepts in JavaScript.This course contains 15 sections and one bonus section, over 90 different lectures, over 17 hours of video, 4 quizzes, 9 assignments, 1 large project and several Think Like a Programmer sections with invaluable information for those intent on making JavaScript a career choice or a major part of their lives.If you want to improve your JavaScript skills, this course is for you!


Section 1: Introduction

Lecture 1 Course Introduction

Lecture 2 Where will You Go with JavaScript?

Lecture 3 Tools You Will Need for this Course

Lecture 4 A Word about the Exercise Files

Section 2: Think Like a Programmer: Libraries and Frameworks

Lecture 5 Think Like a Programmer: Libraries and Frameworks

Section 3: Advanced Concepts for Objects and Functions

Lecture 6 Advanced Concepts for Functions and Objects

Lecture 7 REVIEW: Function Declarations and Function Expressions

Lecture 8 Functions are Objects

Lecture 9 First Class Functions

Lecture 10 Invoking Functions

Lecture 11 Creating JavaScript Objects

Lecture 12 Understanding this

Lecture 13 Examining this with Normal Function Invocation

Lecture 14 Normal Function Invocation Using strict mode

Lecture 15 Examining this with Method Invocation

Lecture 16 Understanding Prototypes

Lecture 17 Understanding the Prototype of Functions

Lecture 18 Using call and apply Function Methods

Lecture 19 Using the bind Function Method

Lecture 20 Invoking Functions as Constructors: The Magic of new

Lecture 21 Constructor Invocation and the Value of this

Lecture 22 Higher Order Functions, Callbacks and the Problem with this

Lecture 23 Arrow Functions

Lecture 24 REVIEW: Invoking Function and this

Section 4: Think Like a Programmer: DRY Coding

Lecture 25 Abstraction and DRY Coding

Lecture 26 Abstraction and DRY Coding: Exercise 1

Section 5: Working with Objects

Lecture 27 Working with Objects Introduction

Lecture 28 Detecting Properties on Objects

Lecture 29 Changing Property Attributes

Lecture 30 Making Objects Immutable

Lecture 31 ES6 Object Features

Lecture 32 Understanding Method Chaining

Lecture 33 ES2020: Optional Chaining

Section 6: The Power of Functions

Lecture 34 The Power of Functions Introduction

Lecture 35 Immediately Invoked Function Expressions (IIFEs)

Lecture 36 Review of Scope

Lecture 37 Understanding Closure

Lecture 38 OPTIONAL: Closure Take 2

Section 7: Think Like a Programmer: Avoiding Globals

Lecture 39 Avoiding Global Variables

Lecture 40 Using the Namespace Pattern

Section 8: The Power of Functions Continued

Section 9: Think Like a Programmer: The Module Pattern

Lecture 41 The Module Pattern Part 1

Lecture 42 Optional: Overview of Fill-In-Question Code

Lecture 43 The Module Pattern: Part 2

Lecture 44 The Module Pattern: Part 3

Lecture 45 The Module Pattern: Part 4

Section 10: Working with Data: JavaScript Objects and JSON

Lecture 46 Introduction to Working with Data

Lecture 47 JSON Basics

Lecture 48 Creating a JSON File

Lecture 49 Loading a JSON File Using XMLHttpRequest

Lecture 50 Testing on a Server

Lecture 51 Setting Up a Local Server Using Node

Lecture 52 Using Fetch to Load a JSON File

Section 11: Using ES Native Modules

Lecture 53 Using ECMAScript Native Modules

Lecture 54 Important Features of Native Modules

Lecture 55 Applying Native Modules

Lecture 56 Bundling Native Modules

Section 12: Think Like a Programmer: Approaches to Programming

Lecture 57 Approaches to Programming

Section 13: Object Oriented Programming in JavaScript

Lecture 58 Introduction to Object Oriented Programming

Lecture 59 OOP Theory

Lecture 60 Review: Setting the Prototype

Lecture 61 The Constructor Property

Lecture 62 Project: Applying OOP Part 1

Lecture 63 Project: Applying OOP Part 2

Lecture 64 Project: Applying OOP Part 3

Lecture 65 Project: Applying OOP Part 4

Lecture 66 Project: Applying OOP Part 5

Lecture 67 Project: Applying OOP Part 6

Lecture 68 Project: Applying OOP Part 7

Lecture 69 Project: Applying OOP Part 8

Lecture 70 Project: Applying OOP Part 9

Lecture 71 Project: Applying OOP Part 10 – Getters and Setters

Lecture 72 Project: Applying OOP Part 11 – Wrap Up

Lecture 73 Object Oriented Programming: Follow Up Topics

Lecture 74 Enumerating Objects with the for in Loop

Lecture 75 Private Data in Constructors

Lecture 76 Creating Safe Constructors

Lecture 77 Can I Modify the Built-in Prototypes?

Lecture 78 What About ES6 Classes?

Section 14: Using JavaScript Classes

Lecture 79 Making Use of ES6 Classes

Lecture 80 Using Classes for Creating Objects

Lecture 81 Subclassing: Setting Up Inheritance Chains

Lecture 82 Making Data Private

Section 15: Think Like a Programmer: Starting a Project

Lecture 83 Starting a Project

Section 16: Handling Errors

Lecture 84 Handling Errors Inroduction

Lecture 85 Handling JavaScript Errors

Lecture 86 Using the try catch Statement

Lecture 87 Handling Asynchronous Errors

Lecture 88 Using the Error Event for Handling Errors

Lecture 89 Throwing Errors

Lecture 90 Error Handling Strategies

Section 17: Congratulations!

Lecture 91 Congratulations!

Section 18: Bonus Section: Factory Functions

Lecture 92 Introduction to Factory Functions

Lecture 93 Overview of Factory Functions

Lecture 94 Using a Prototype with Factory Functions

Section 19: Bonus Section: Functional Programming Concepts in JavaScript

Lecture 95 Functional Programming Introduction

Lecture 96 Avoiding Side Effects and Using Pure Functions

Lecture 97 Avoiding Shared State

Lecture 98 Avoiding Mutable Data

Lecture 99 Function Composition Part 1

Lecture 100 Function Composition Part 2

Lecture 101 Imperative Programming VS Declarative Programming

Lecture 102 Functional Programming Example

Lecture 103 Functional Programming Techniques

Lecture 104 Using Reduce, Map and Filter

Lecture 105 Assignment / Exercise Follow Up

Lecture 106 Getting Your Feet Wet with Currying

Lecture 107 Understanding Recursion

Lecture 108 Functional Libraries for JavaScript

Section 20: BONUS Section: What Is Next?

Lecture 109 BONUS Lecture! Discounts on Other Courses

Anyone who wants to improve their JavaScript skills.

Course Information:

Udemy | English | 18h 3m | 5.80 GB
Created by: Steven Hancock

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top