Learn JavaScript Closures (PRO)
A video course on the most powerful yet complex concept in JavaScript. The goal of this course is to truly understand the concept that will enable you to accelerate all your future developments.
More
Why learn Closures when I can learn Node or React?
Shouldn’t I be spending my time understanding frameworks – this is what I actually do at work? Why should I learn JavaScript closures?
It takes an understanding of what’s really going on to become a developer who owns his tools.
Learning new topics is about bringing together existing units of knowledge in new and often complex ways. If you are missing one of the basic units of knowledge, you cannot build more complex concepts.
True mastery means understanding the basic principles and building them.
The goal of this course is to truly understand the concept that will enable you to accelerate all your future developments.
Every time you deeply understand something, it is an investment in the future! It’s like building a system that’s more flexible and scalable. It will take time, but it will pay off in the rest of your engineering.
Closures are the building block on which all other concepts lie. 4 of the most important areas of modern programming are based on this:
- Professional features such as memoize and once for cleaner, more efficient code
- Patterns like Node’s module pattern (CommonJS pattern)
- Functional programming techniques such as partial application, currying, and monads
- Asynchronous JavaScript and the callback pattern
So how do I study all this?
In college, we always sat in lectures and passed out, thinking that we would find out ourselves later. This is true – you have to take the knowledge you have presented and make it your own, overcoming difficulties and creating your own mental models.
Will and I have done hundreds of workshops, and whenever we tried to explain these complex concepts, we were drawn to grab a pen and try to portray it.
Here’s what we’re going to do in this course – visualize every line of code as it runs.
There are no mysteries in programming unless you skip the steps!
We’re going to develop a mental closure model that is intuitive but built from scratch.
If you have 10 years of experience, it will bring together all the ideas you use on a daily basis.
If you’re new to programming, this will give you a foundation to speed up your understanding of JavaScript, React, and Node.
It’s also nice that one of the favorite Google interview questions – “What are Closures” – is a concept that can really test your understanding of the language.
You will follow along with four other developers as we walk them through the code and as they hit blocks, ask questions and solve them (sort of like the Socratic method).
By the end of this course, you will:
- have a mature understanding of JavaScript
- improve your technical communication
- have a set of professional techniques for writing more understandable code
Watch Online Learn JavaScript Closures (PRO)
# | Title | Duration |
---|---|---|
1 | Course overview + introduction | 01:43 |
2 | Introduction to Closure | 02:38 |
3 | Principles of JavaScript | 10:46 |
4 | Functions can have multiple lables | 14:15 |
5 | Q & A | 08:45 |
6 | Closure - persisting state | 03:44 |
7 | Returning a function from a function | 11:36 |
8 | Q&A | 08:53 |
9 | Introduction to scope | 03:12 |
10 | The call stack | 13:50 |
11 | Closure, functions with permanent memories & the Backpack | 20:22 |
12 | Understanding the [[scope]] property | 08:27 |
13 | Closure terminology - Closed over variable environment | 08:51 |
14 | Q&A | 13:06 |
15 | Closure Summary | 03:22 |
16 | Closure - Multiple closures (individual backpacks) | 15:10 |
17 | Q&A | 12:19 |
18 | Conclusion - Using closure in professional engineering environment | 11:23 |
19 | Introduction to Closure Advanced Problem Sets | 03:42 |
20 | Using Closure to create a Once function | 25:24 |
21 | Rebuilding and diagraming the Once function in Javascript | 19:38 |
22 | Q&A - Rebuilding the Once function | 06:59 |
23 | Using Closure to create a Memoize function | 29:02 |
24 | Q&A - Using Closure to create a Memoize function | 03:33 |
25 | Using Closure in the Module Pattern | 26:04 |
26 | Interview: Olivier De Meulder | 28:47 |