Proposal Signals is a TC39 proposal that aims to add signals to the JavaScript language.
Signals provide a primitive for reactive programming, allowing developers to create values that automatically notify dependents when they change. The proposal addresses the problem of managing state updates and side effects in JavaScript applications by introducing a standardized mechanism for tracking dependencies and propagating changes. Rather than requiring applications to implement their own reactivity systems, signals would be built into the language itself, enabling more efficient and predictable state management across different frameworks and libraries.
Developers considering this proposal should understand that it represents a language-level feature under active standardization rather than a library ready for production use. The proposal is most relevant for framework authors and library developers who currently implement their own reactivity systems, as well as for applications that would benefit from a common, interoperable approach to reactive programming. By standardizing signals at the language level, the proposal aims to reduce duplication across the ecosystem and allow different tools to work together more seamlessly around a shared reactivity model.
The project shows active engagement from the TC39 committee and the broader JavaScript community, with ongoing discussion and refinement of the proposal's design. Development involves iterative feedback from stakeholders, with the proposal undergoing evaluation and revision as part of the formal standardization process.