Global Scope 2022

Strength in weakness: JavaScript memory management and weak references

About this presentation

Garbage Collection (GC) in JavaScript is supposed to simplify and automate memory management. But it turns out that there are various scenarios where GC can get in the way, and avoiding resource leaks becomes challenging. In order to overcome such issues, the ECMAScript standard includes WeakMap and WeakSet. More recently, ES2021 introduced WeakRef and FinalizationRegistry for even more fine-grained control, and they are already supported by all modern browsers. In this presentation I explain what these are, why they're needed, and provide concrete usage examples and best practices.