Please ensure Javascript is enabled for purposes of website accessibility

About This Course

Who this course is for:

  • Anyone who wants to improve their JavaScript skills

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 programming 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


  • This is an advanced course in JavaScript, so you should have taken the beginner course Learn Modern JavaScript or you should have a good familiarity with the basics of JavaScript

Advanced JavaScript 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 this course, we explore the more advanced techniques in JavaScript. You’ll learn advanced concepts for objects and functions, the value of ‘this’, the power of functions using closure and IIFEs. You’ll learn about the namespace and module patterns, JSON, and how to load a JSON file. Follow along as we apply Object Oriented Programming concepts to a project. You’ll get very familiar with the prototype, and these are just the main topics covered in this advanced course. 

Our Promise to You

By the end of this course, you will have learned the nuances and important patterns advanced JavaScript developers know and use.

30 Day Money Back Guarantee. If you are unsatisfied for any reason, simply contact us and we’ll give you a full refund. No questions asked.

Get started today and learn more about advanced JavaScript topics.

Course Curriculum

Section 1 - Introduction
Course Introduction 00:00:00
Where Will You Go With Javascript? 00:00:00
Tools You Will Need For This Course 00:00:00
A Word About The Exercise Files 00:00:00
Downloadable Materials 00:00:00
Section 2 - Think Like A Programmer: Libraries And Frameworks
Think Like A Programmer: Libraries And Frameworks 00:00:00
Section 3 - Advanced Concepts For Objects And Functions
Advanced Concepts For Functions And Objects 00:00:00
Functions Are Objects 00:00:00
First Class Functions 00:00:00
Invoking Functions 00:00:00
Creating Javascript Objects 00:00:00
Understanding This 00:00:00
Examining This With Normal Function Invocation 00:00:00
Normal Function Invocation Using Strict Mode 00:00:00
Examining This With Method Invocation 00:00:00
Understanding Prototypes 00:00:00
Understanding The Prototype Of Functions 00:00:00
Using Call And Apply Function Methods 00:00:00
Using The Bind Function Method 00:00:00
Invoking Functions As Constructors: The Magic Of New 00:00:00
Constructor Invocation And The Value Of This 00:00:00
Higher Order Functions, Callbacks And The Problem With This 00:00:00
Arrow Functions 00:00:00
Review: Invoking Function And This 00:00:00
Quiz 1: Section Quiz 00:00:00
Section 4 - Think Like A Programmer: Dry Coding
Abstraction And Dry Coding 00:00:00
Abstraction And Dry Coding: Exercise 1 00:00:00
Section 5 - Working With Objects
Working With Objects Introduction 00:00:00
Detecting Properties On Objects 00:00:00
Changing Property Attributes 00:00:00
Assignment 1: Exercise 2 – Working With Objects 00:00:00
Making Objects Immutable 00:00:00
Es6 Object Features 00:00:00
Understanding Method Chaining 00:00:00
Quiz 2: Section Quiz 00:00:00
Section 6 - The Power Of Functions
The Power Of Functions Introduction 00:00:00
Immediately Invoked Function Expressions – IIFEs 00:00:00
Assignment 2: Exercise 3: Immediately Invoked Function Expressions 00:00:00
Understanding Closure 00:00:00
Section 7 - Think Like A Programmer: Avoiding Globals
Avoiding Global Variables 00:00:00
Using The Namespace Pattern 00:00:00
Section 8 - The Power Of Functions Continued
Assignment 3: Closure – Exercise 4 00:00:00
Assignment 4: Namespace Pattern Exercise 00:00:00
Section 9 - Think Like A Programmer: The Module Pattern
The Module Pattern Part 1 00:00:00
Optional: Overview Of Fill-In-Question Code 00:00:00
The Module Pattern: Part 2 00:00:00
The Module Pattern: Part 3 00:00:00
The Module Pattern: Part 4 00:00:00
Assignment 5: Module Pattern Exercise 6 00:00:00
Assignment 6: Module Pattern Exercise 7 00:00:00
Section 10 - Working With Data: Javascript Objects And Json
Introduction To Working With Data 00:00:00
Json Basics 00:00:00
Creating A Json File 00:00:00
Loading A Json File Using Xmlhttprequest 00:00:00
Setting Up A Local Server Using Node 00:00:00
Assignment 7: Json Data Exercise 8 00:00:00
Section 11 - Think Like A Programmer: Approaches To Programming
Approaches To Programming 00:00:00
Section 12 - Object Oriented Programming In Javascript
Introduction To Object Oriented Programming 00:00:00
OOP Theory 00:00:00
Review: Setting The Prototype 00:00:00
The Constructor Property 00:00:00
Project: Applying OOP Part 1 00:00:00
Project: Applying OOP Part 2 00:00:00
Project: Applying OOP Part 3 00:00:00
Project: Applying OOP Part 4 00:00:00
Project: Applying OOP Part 5 00:00:00
Project: Applying OOP Part 6 00:00:00
Project: Applying OOP Part 7 00:00:00
Project: Applying OOP Part 8 00:00:00
Project: Applying OOP Part 9 00:00:00
Project: Applying OOP Part 10 – Getters And Setters 00:00:00
Project: Applying OOP Part 11 – Wrap Up 00:00:00
Enumerating Objects With The For In Loop 00:00:00
Private Data In Constructors 00:00:00
Creating Safe Constructors 00:00:00
Can I Modify The Built-in Prototypes? 00:00:00
What About Es6 Classes? 00:00:00
Section 13 - Think Like A Programmer: Starting A Project
Starting A Project 00:00:00
Section 14 - Congratulations
Congratulations 00:00:00
Section 15 - Bonus Section: Functional Programming Concepts In Javascript
Functional Programming Introduction 00:00:00
Avoiding Side Effects And Using Pure Functions 00:00:00
Avoiding Shared State 00:00:00
Avoiding Mutable Data 00:00:00
Function Composition Part 1 00:00:00
Function Composition Part 2 00:00:00
Imperative Programming Vs Declarative Programming 00:00:00
Functional Programming Example 00:00:00
Functional Programming Techniques 00:00:00
Using Reduce, Map And Filter 00:00:00
Assignment 8: Using Reduce Map And Filter Exercise 00:00:00
Assignment Or Exercise Follow Up 00:00:00
Getting Your Feet Wet With Currying 00:00:00
Understanding Recursion 00:00:00
Functional Libraries For Javascript 00:00:00
Template Design © VibeThemes. All rights reserved.

Setup Menus in Admin Panel