{"version":"1.0","type":"rich","provider_name":"Acast","provider_url":"https://acast.com","height":250,"width":700,"html":"<iframe src=\"https://embed.acast.com/$/655148df2861630012a1d01b/672cdcd6a42e23dc4b5ec156?\" frameBorder=\"0\" width=\"700\" height=\"250\"></iframe>","title":"TC39: How signals work, adding signals to the JavaScript programming language","description":"<p>Links</p><p>- Codecrafters (sponsor): https://tej.as/codecrafters</p><p>- TC39 Signals Proposal: https://github.com/tc39/proposal-signals</p><p><br></p><p>Summary</p><p><br></p><p>In this conversation, Kristen Maevyn, and Daniel Ehrenberg discuss reactivity and its importance in JavaScript. They explore the concept of reactivity, its role in keeping applications deterministic, and the challenges of achieving consistency in modern rendering frameworks. They also compare signals to observables and explain why signals are being considered as a language-level feature. </p><p><br></p><p>The conversation touches on the API for signals, the use of classes in JavaScript, and the benefits of functional programming. Signals are an evolution of the long-standing problem of managing state in JavaScript applications. They provide a solution to the issues with classes and functions by combining the benefits of both. Signals allow for encapsulation, testing in isolation, and pure functions while still being able to handle state. </p><p><br></p><p>Chapters</p><p><br></p><p>00:00:00 Intro</p><p>00:09:57 What are signals?</p><p>00:26:37 Classes and the `new` keyword</p><p>00:41:31 State Management and Signals</p><p>00:49:25 Push-based vs. Pull-based Reactivity</p><p>01:04:43 Language-level vs. Framework-level Signals</p><p>01:14:27 Server-side Signals</p><p>01:25:06 Self-referencing Signals</p><p>01:36:29 Audience Q&amp;A</p><p>01:47:07 Conclusion</p>","author_name":"Tejas Kumar"}