Advanced JavaScript Topics

Video description

If you want to make a career in JavaScript, it is necessary to have knowledge and skills of the advanced concepts. This course will give you in-depth knowledge of JavaScript and will help you to understand the JavaScript language much better.

The course starts by explaining the learning objectives and highlighting the importance of JavaScript in programming. Next, with the help of coding exercises, you will understand JavaScript libraries, frameworks, objects, and functions. Moving along, you will get to grips with module patterns and learn how to create, load, and test a JSON file. Next, you will learn the techniques to apply OOP concepts to a project and start working on a prototype project. Towards the end, you will master the functional programming concepts used in JavaScript.

By the end of this course, you will be ready to work on real-world projects that require advanced JavaScript skills.

What You Will Learn

  • Manipulate properties on JavaScript objects
  • Use constructors and create objects for setting up objects and prototypes
  • Find out how to use Immediately Invoked Function Expressions (IIFEs) in your code
  • Apply the namespace and module patterns to your coding project
  • Discover the best practices to load JSON data in a project
  • Apply OOP principles and functional programming to JavaScript projects


This is an advanced course in JavaScript that is for anyone who is interested to take their knowledge of JavaScript to the next level. A good understanding of the basic concepts of JavaScript is needed to get started with this course.

About The Author

Steven Hancock: Steven Hancock has more than 20 years of experience in training and product development and has more than 15 years of experience working with JavaScript. He started learning JavaScript when it was a new language used for creating minor effects on a website. The growth and ubiquitous nature of JavaScript both excite and inspire him. He currently works as the President and Lead Trainer at All Things JavaScript, a resource for anyone and everyone who hopes to increase their JavaScript skills and become an expert. It is so important to understand why, not just the what and how, when it comes to technical subjects. His goal is to help thousands of JavaScript developers to become successful coders.

He was the co-owner and President of Rapid Intake, an eLearning firm. The company was an ideal place for him to apply his training and development skills, and here, he managed all development and professional service-related activities. He was heavily involved in the initial development of Rapid Intake's main product, an eLearning authoring tool, which eventually led to Rapid Intake's acquisition in 2011 by Callidus Software. In addition to JavaScript technologies, he has dabbled in other web technologies, such as ActionScript, ASP, PHP, HTML, and Cascading Style Sheets (CSS).

Table of contents

  1. Chapter 1 : Introduction
    1. Course Introduction
    2. Where Will You Go with JavaScript?
  2. Chapter 2 : Think Like a Programmer: Libraries and Frameworks
    1. Think Like a Programmer: Libraries and Frameworks
  3. Chapter 3 : Advanced Concepts of Objects and Functions
    1. Advanced Concepts of Functions and Objects
    2. Functions are Objects
    3. First Class Functions
    4. Invoking Functions
    5. Creating JavaScript Objects
    6. Understanding the "this" Keyword
    7. Examining "this" with Normal Function Invocation
    8. Normal Function Invocation Using Strict Mode
    9. Examining "this" with Method Invocation
    10. Understanding Prototypes
    11. Understanding the Prototype of Functions
    12. Using the "call" and "apply" Methods
    13. Using the "bind" Method
    14. Invoking Functions as Constructors
    15. Constructor Invocation and the Value of "this"
    16. Higher Order Functions, Callbacks, and the Problem with "this"
    17. Arrow Functions
    18. REVIEW: Invoking Functions and "this"
  4. Chapter 4 : Think Like a Programmer: Don't Repeat Yourself (DRY) Coding
    1. Abstraction and Don't Repeat Yourself (DRY) Coding
    2. Abstraction and Don't Repeat Yourself (DRY) Coding: Exercise 1
  5. Chapter 5 : Working with Objects
    1. Working with Objects Introduction
    2. Detecting Properties on Objects
    3. Changing Property Attributes
    4. Making Objects Immutable
    5. ES6 Object Features
    6. Understanding Method Chaining
  6. Chapter 6 : The Power of Functions
    1. The Power of Functions Introduction
    2. Immediately Invoked Function Expressions (IIFEs)
    3. Understanding Closure
  7. Chapter 7 : Think Like a Programmer: Avoiding Globals
    1. Avoiding Global Variables
    2. Using the Namespace Pattern
  8. Chapter 8 : Think Like a Programmer: The Module Pattern
    1. The Module Pattern - Part 1
    2. Optional: Overview of Fill-In-Question Code
    3. The Module Pattern: Part 2
    4. The Module Pattern: Part 3
    5. The Module Pattern: Part 4
  9. Chapter 9 : Working with Data: JavaScript Objects and JSON
    1. Introduction to Working with Data
    2. JSON Basics
    3. Creating a JSON File
    4. Loading a JSON File Using XMLHttpRequest
    5. Testing on a Server
  10. Chapter 10 : Using ECMAScript (ES) Modules
    1. Using ECMAScript (ES) Modules
    2. Important Features of ECMAScript (ES) Modules
    3. Applying (ES) Modules
    4. Bundling (ES) Modules
  11. Chapter 11 : Think Like a Programmer: Approaches to Programming
    1. Approaches to Programming
  12. Chapter 12 : Object-oriented Programming in JavaScript
    1. Introduction to Object-oriented Programming (OOP)
    2. OOP Theory
    3. Review: Setting the Prototype
    4. The Constructor Property
    5. Project: Applying OOP - Part 1
    6. Project: Applying OOP - Part 2
    7. Project: Applying OOP - Part 3
    8. Project: Applying OOP - Part 4
    9. Project: Applying OOP - Part 5
    10. Project: Applying OOP - Part 6
    11. Project: Applying OOP - Part 7
    12. Project: Applying OOP - Part 8
    13. Project: Applying OOP - Part 9
    14. Project: Applying OOP - Part 10 - Getters and Setters
    15. Project: Applying OOP - Part 11 - Wrapping up
    16. Enumerating Objects with the "for in" Loop
    17. Private Data in Constructors
    18. Creating Safe Constructors
    19. Can I Modify the Built-in Prototypes?
    20. What about ES6 Classes?
  13. Chapter 13 : Think Like a Programmer: Starting a Project
    1. Starting a Project
  14. Chapter 14 : Congratulations!
    1. Congratulations!
  15. Chapter 15 : Bonus Section: Functional Programming Concepts in JavaScript
    1. Functional Programming Introduction
    2. Avoiding Side Effects and Using Pure Functions
    3. Avoiding Shared State
    4. Avoiding Mutable Data
    5. Function Composition - Part 1
    6. Function Composition Part 2
    7. Imperative Programming versus Declarative Programming
    8. Functional Programming - Example
    9. Functional Programming - Techniques
    10. Using Reduce, Map, and Filter
    11. Assignment/Exercise Follow-up
    12. Getting Your Feet Wet with Currying
    13. Understanding Recursion
    14. Functional Libraries for JavaScript

Product information

  • Title: Advanced JavaScript Topics
  • Author(s): Steven Hancock
  • Release date: November 2019
  • Publisher(s): Packt Publishing
  • ISBN: 9781839219054