EnglishРусский Map
Reactive Signals

Предложение TC39 Signals

title
Предложение TC39 Signals
type
concept
summary
Предложение Stage 1 по добавлению нативных примитивов Signal в JavaScript
tags
javascript, tc39, signals, standards
created
2026-04-06
updated
2026-04-06
lang
ru
translation_of
tc39-proposal-signals
source_updated
2026-04-06
translated
2026-09-01
translator
lllm/antigravity/gemini-3.7-flash-medium

Предложение TC39 на этапе Stage 1 по добавлению нативного примитива Signal в JavaScript. Цель - не заменить API конкретных фреймворков (createSignal в Solid, ref в Vue, signal в Preact), а предоставить под ними общий реактивный фундамент. Фреймворки сохранят свои внешние API, но будут использовать единые механизмы подписки, инвалидации и отслеживания зависимостей.

В случае принятия сигналы из разных фреймворков смогут взаимодействовать друг с другом: сигнал из Solid сможет передавать значение в computed-свойство Vue, так как оба будут опираться на один и тот же нативный примитив.

Предложение охватывает базовый push-pull алгоритм: немедленную инвалидацию при записи, ленивое повторное вычисление при чтении и автоматическое отслеживание зависимостей через стек контекста исполнения. Подробнее о том, как этот алгоритм работает на практике, см. в signal-push-pull-algorithm.

Статус Stage 1 означает, что комитет считает задачу заслуживающей решения, но форма API ещё открыта для изменений. Ни один браузер пока не выпустил готовую реализацию.

Связанные страницы

  • reactive-signals - концепция в более широком контексте
  • signal-push-pull-algorithm - разбор реализации алгоритма, который стандартизирует это предложение