An Angular signal is a container that holds a value that can change over time, and when that value changes, it notifies all its consumers.
Signals efficiently track the application state, enabling applications to optimise change detection, UI rendering updates and performance. Signals can hold all types of data, including primitives, arrays and objects. Signals can be either writable or read-only.
See my demo application of signals in a zoneless framework at GitHub.