Past Meetup

JavaScript - The Hard Parts: Closure, Scope, and Execution Context Online&Onsite

This Meetup is past

30 people went


1600 Main St. · Venice , ca

How to find us

This meetup will take place at our HQ at 1600 Main St. in Venice! For parking info follow the link: Livestream:

Location image of event venue


Join us in person or tune in online.


Get started now on challenges related to these topics on our FREE online learning platform CSX,


This week we continue our mini-series: Javascript - The Hard Parts. We will cover closure, scope, and execution context - one of the toughest concepts in JavaScript.

Closures are very useful as they let you associate some data (in the lexical environment) with a function that operates on that data. Closures are frequently used for object data privacy, in event handlers and callback functions, and in partial applications, currying, and other functional programming patterns.

In this workshop you’ll:

Understand how one of the most misunderstood but most powerful features of JavaScript – closure – works under-the-hood
Understand core JS runtime features - execution context, JavaScript execution model and the variable environment
Be able to wield, optimize and debug popular pro utility functions like once and memoize
Be able to implement the module pattern - one of the cleanest and most resilient design patterns in JavaScript

We'll cover concepts and approaches that 80% of JavaScript engineers do not understand but are at the core of every single successful application.

This is possible because we'll understand the essence of these tough concepts and then switch into pair-programming through the challenges to cement the concepts.


6:30-7pm: Meet your pair-programming partner

7pm - 9:00pm: Lectures and Pair-programming

JavaScript core execution model
Topics covered: Thread of execution, variable environment, execution context, call stack

Higher order functions
Returning a function from a function (confuses even seasoned devs)
Pair programming

Lexical scope
How can we test whether JavaScript is statically or dynamically scoped?

Closure and persistent lexical scope (the ‘backpack’)
The intuitions of the ‘backpack’ or closure

Using closure in helper functions, iterators and async
Once, memoize
Pair programming

9:00pm Onwards: Drinks and Networking

For those online! Please join the stream here: