Learn Modern JavaScript: Advanced Topics

Steven Hancock, Founder All Things JavaScript

Play Speed
  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x
77 Lessons (11h 29m)
    • 1. Lecture 1: Course Introduction

      4:04
    • 2. Lecture 2: Where Will You Go with JavaScript

      4:29
    • 3. Think Like a Programmer 1: Libraries and Frameworks

      6:12
    • 4. Lecture 3: Advanced Concepts for Function and Objects

      6:47
    • 5. Lecture 4: Functions are Objects

      9:28
    • 6. Lecture 5: First Class Functions

      9:00
    • 7. Lecture 6: Invoking Functions

      11:45
    • 8. Lecture 7: Creating JavaScript Objects

      8:16
    • 9. Lecture 8: Understanding this

      4:36
    • 10. Lecture 9: Understanding this with Normal Function Invocation

      12:16
    • 11. Lecture 10: Normal Function Invocation Using strict Mode

      3:43
    • 12. Lecture 11: Examining this with Method Invocation

      15:43
    • 13. Lecture 12: Understanding Prototypes

      14:24
    • 14. Lecture 13: Understanding the Prototype of Functions

      2:28
    • 15. Lecture 14: Using Call and Apply Function Methods

      12:32
    • 16. Lecture 15: Using the Bind Function Method

      9:04
    • 17. Lecture 16: Invoking Functions as Constructors

      9:14
    • 18. Lecture 17: Constructor Invocation and the Value of this

      10:52
    • 19. Lecture 18: Higher Order Functions, Callbacks and the Problem with this

      14:34
    • 20. Lecture 19: Arrow Functions

      7:13
    • 21. Review

      4:49
    • 22. Think Like a Programmer 2A: DRY Programming

      12:32
    • 23. Think Like a Programmer 2B: DRY Programming Exercise 1

      14:19
    • 24. Lecture 20: Working with Objects Introduction

      1:07
    • 25. Lecture 21: Detecting Properties on Objects

      7:41
    • 26. Lecture 22: Changing Property Attributes

      6:28
    • 27. Exercise 2 Start

      2:24
    • 28. Exercise 2 Finish

      5:33
    • 29. Lecture 23: Making Objects Immutable

      9:17
    • 30. Lecture 24: ES6 Object Features

      15:44
    • 31. Lecture 25: Understanding Method Chaining

      15:28
    • 32. Lecture 26: The Power of Functions Introduction

      1:07
    • 33. Lecture 27: Immediately Invoked Function Expressions

      10:05
    • 34. Exercise 3 Start

      1:56
    • 35. Exercise 3 Finish

      4:42
    • 36. Lecture 28: Understanding Closure

      11:49
    • 37. Think Like a Programmer 3A: Avoiding Global Variables

      11:41
    • 38. Think Like a Programmer 3B: Using the Namespace Pattern

      13:48
    • 39. Exercise 4 Start

      1:35
    • 40. Exercise 4 Finish

      4:33
    • 41. Exercise 5 Start

      1:33
    • 42. Exercise 5 Finish

      11:05
    • 43. Think Like a Programmer 4: The Module Pattern Part 1

      6:22
    • 44. Think Like a Programmer 4: Overview of Fill in Question Code (OPTIONAL)

      11:58
    • 45. Think Like a Programmer 4: The Module Pattern Part 2

      12:44
    • 46. Think Like a Programmer 4: The Module Pattern Part 3

      13:55
    • 47. Think Like a Programmer 4: The Module Pattern Part 4

      16:13
    • 48. Lecture 29: Introduction to Working with Data

      9:33
    • 49. Lecture 30: JSON Basics

      11:24
    • 50. Lecture 31: Creating a JSON File

      7:54
    • 51. Lecture 32: Loading a JSON File Using XMLHttpRequest

      14:04
    • 52. Lecture 33: Testing on a Server

      10:50
    • 53. Exercise 8 Start

      3:41
    • 54. Exercise 8 Finish

      18:08
    • 55. Think Like a Programmer 5: Programming Paradigms

      6:52
    • 56. Lecture 34: Introduction to Object Oriented Programming

      10:33
    • 57. Lecture 35: OOP Theory

      11:46
    • 58. Lecture 36: Setting the Prototype Review

      12:52
    • 59. Lecture 37: The Constructor Property

      5:56
    • 60. Lecture 38: OOP Exercise Part 1 - Introduction

      8:05
    • 61. Lecture 39: OOP Exercise Part 2

      18:02
    • 62. Lecture 40: OOP Exercise Part 3

      9:57
    • 63. Lecture 41: OOP Exercise Part 4

      8:38
    • 64. Lecture 42: OOP Exercise Part 5

      11:04
    • 65. Lecture 43: OOP Exercise Part 6

      9:42
    • 66. Lecture 44: OOP Exercise Part 7

      12:18
    • 67. Lecture 45: OOP Exercise Part 8

      6:52
    • 68. Lecture 46: OOP Exercise Part 9

      15:49
    • 69. Lecture 47: OOP Exercise Part 10 - Getters and Setters

      11:03
    • 70. Lecture 48: OOP Exercise Wrap Up

      7:28
    • 71. Lecture 49: Enumerating Objects with the for in Loop

      6:13
    • 72. Lecture 50: Private Data in Constructors

      6:00
    • 73. Lecture 51: Creating Safe Constructors

      5:12
    • 74. Lecture 52: Can I Modify the Built-in Prototypes?

      4:15
    • 75. Lecture 53: What About ES6 Classes?

      8:01
    • 76. Think Like a Programmer 6: Starting a Project

      8:26
    • 77. Congratulations!

      0:47

About This Class

bfdac8f1

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!

If you would like see the teaching style used in this course, you can take a look at the tutorials I've published on my All Things JavaScript YouTube channel.

Make sure you download the exercise files from the class project section to help you get the most out of this course.