Skip to main content

Advanced JavaScript Masterclass

Christophe Porteneuve

Your instructor
Christophe Porteneuve

Workshop includes:

  • 🔖  Examples to take away
  • 🗣  Interactive sessions
  • 📺  Workshop recordings
  • 🎤  Dedicated Q&A time
  • 🏅  Smashing Certificate

Workshop, 5×2h + Q&A Wed & Thu, August 16–30 2023
09:00 – 11:30 AM PT 18:00 – 20:30 CET Check your time zone

The JavaScript language is constantly growing and improving, along with its standard library. But we’re all too busy writing production apps to prop up our heads long enough to keep track of all the new sweetness getting released all the time (and becoming official every June)! Get ready for a roller-coaster of freshly-baked JavaScript awesomeness.


Here’s What You Should Be Expecting:

  • Interactive live sessions

    5 × 2.5h live sessions

  • Practical insights

    From cool tidbits to standard library novelties

  • Hands-on exercises

    With reviews by your teacher

  • Life-time access

    To all video recordings and examples

  • Dedicated Q&A time

    To ask all your questions

  • Smashing Certificate

    A well-deserved reward for your work


What are the latest awesome features we now get for free with any modern JavaScript engine? How can we trim down our bundles and node_modules directories and speed up our apps by leveraging native features that recently showed up? Not to mention stuff just around the corner that, whilst not yet official, is usable already?


What will attendees learn in this workshop?

  • Numerous collection goodies around Array and other built-in collections (Map and Set) to write more concise data-processing code.
  • Advanced Unicode handling for string manipulation and regular expressions, so we don't risk leaving some international users on the side of the road.
  • Bulletproof localization using the every-growing Intl standard library subset, that removes the need for many libraries and makes a ton of locale-sensitive work faster and more reliable.
  • Date/Time wizardry with the soon-to-be-finalized Temporal API that covers just about every use case around dates, times, durations, moments and intervals. Finally goodbye to Moment, Luxon, date-fns and their ilk!
  • Efficient asynchronous orchestration with all four promise combinators and asynchronous iterables over streams, event emitters and more!
  • How to write modern OOP code using all the class-related goodness that finally became official in 2022.
  • Make our objects iterable so all iterability primitives can work with our custom data containers (e.g. destructuring, for…of and many standard APIs).
  • Awesome metaprogramming using ES Proxies, so we can write dynamic code that unlocks some next-level opportunities!
  • We’ll also review some more under-known recent additions to JS that would be a shame not to have in your bag of tricks.

What Hardware/Software Do You Need?

To get the most out of the workshop, you’ll need to bring a laptop with a modern-JS browser (ideally Chromium-based or Firefox), and possibly your preferred text editor.

Who Is This For?

This workshop is intended for any developer using JavaScript or TypeScript, be it on the front-end, the back-end, or full-stack. You should be comfortable with widespread ES2015–2018 syntax such as arrow functions, destructuring, rest / spread, default values and template literals. In-depth expertise is not required, though! But you should be enthusiastic to deep dive into technical details.

About Christophe

Christophe has been a professional web developer, trainer and speaker since 1995. A former Prototype.js core team member and contributor to Rails, Node.js and JS itself, he founded Delicious Insights that provides kick-ass pro training Git, React / PWA, Node.js, vanilla JS and TypeScript, along with codebase audits and delegated proofs of concept. He lives near Paris with his wife Élodie and two sons.

Time & Schedule

This workshop is split over five days. Our virtual doors open at 8:45, we start at 9 AM PT.

The workshop sessions will run on the following days:

  • Wed, August 16, 09:00 – 11:30 AM PT (18:00 – 20:30 CET)
  • Thu, August 17, 09:00 – 11:30 AM PT (18:00 – 20:30 CET)
  • Wed, August 23, 09:00 – 11:30 AM PT (18:00 – 20:30 CET)
  • Thu, August 24, 09:00 – 11:30 AM PT (18:00 – 20:30 CET)
  • Wed, August 30, 09:00 – 11:30 AM PT (18:00 – 20:30 CET)

Day 1

8:45 am PT
Virtual doors open, registration, chat and introductions.

9:00 am – 11:00 am
We start with collection goodies, which include tons of new stuff around built-in collection types such as Array, Map and Set, and sometimes stuff that works generically on any iterable. These let us write data-processing code in a lot more concise, enjoyable way.

We’ll also learn how to make our own objects iterable, such as our custom data containers, so they can play ball with all that goodness and JS’ native iterability primitives.

11:00 am – 11:30 am
Q&A with Christophe on the day’s material. Networking!

Day 2

8:45 am PT
Virtual doors open, registration, chat and introductions.

9:00 am – 11:00 am

Friends don't let friends write a calendar, nor do they let them manually handle the countless idiosyncracies of grammars around the world. For this second day, we'll beef up our localization game by exploring the untold wonders of the Intl API, part of JS' standard library, that keeps adding new capability every few months. From smart text sorting to formatting (dates, intervals, numbers, lists) to plurals to text segmenting, it can do it all! We'll also get excited about the upcoming Temporal API, that will soon let us kick a ton of library code out of our dependencies and help us deal with numerous traditionally-hard use cases!

11:00 am – 11:30 am
Q&A with Christophe on the day’s material. Networking!

Day 3

8:45 am PT
Virtual doors open, registration, chat and introductions.

9:00 am – 11:00 am

This day is all about asynchronous code. After a few refreshers about async JS best practices, we’ll explore how the four available promise combinators help us orchestrate just about any parallel-async use case, and how promises and asynchronous iterables are spreading fast across standard libraries, Node.js and Web APIs, to make it easier to write many common production scenarios!

11:00 am – 11:30 am
Q&A with Christophe on the day’s material. Networking!

Day 4

8:45 am PT
Virtual doors open, registration, chat and introductions.

9:00 am – 11:00 am

We’ll explore advanced Unicode capabilities now offered by strings and regular expressions, so we can confidently extract stuff from text, or slice and dice textual content, on user-provided data from around the globe. Then we’ll snack on a number of cool tidbits from recent years of JS and standard library novelties that are way underrated and often come in handy.

11:00 am – 11:30 am
Q&A with Christophe on the day’s material. Networking!

Day 5

8:45 am PT
Virtual doors open, registration, chat and introductions.

9:00 am – 11:00 am

We’ll wrap up this workshop with a bang! We’ll start by exploring the many OOP-related syntax upgrades that finally made it in 2022, which lets us model just about any need for our class-based code, from static class initializer blocks to truly-private members. We’ll then step into Magic Effet territory with ES proxies and metaprogramming, that open up a treasure box of possibilities for dynamic code: defensive objects, time-sensitive references, API clients, automagic immutability, typo fixing, record-and-playback, and more!

11:00 am – 11:30 am
Q&A with Christophe on the day’s material. Networking!