TGViewer
Javascript Javascript @javascriptv · 17K subscribers
Post #2235 2.3K
Компилятор как суперсила: state machine без хаоса в коде

Интересная мысль про конечные автоматы в TypeScript.

Два варианта кода могут делать одно и то же, но ощущаться совершенно по-разному. Слева обычно получается ручное управление состояниями: условия, переходы, проверки, много места для ошибки.

Справа уже больше похоже не просто на код, а на маленький язык внутри TypeScript. Ты описываешь состояния, события и переходы декларативно, а компилятор начинает работать как страховка.

Он может подсветить невозможный переход, поймать забытый кейс, не дать передать неправильное событие в неправильное состояние и сделать часть логики проверяемой ещё до запуска приложения.

Вот в этом и сила хорошего дизайна API: ты не просто пишешь функции, ты заставляешь TypeScript понимать правила своей предметной области.

State machine становится не схемой в голове разработчика, а контрактом, который проверяется компилятором.
  • 👍 3
  • 👎 3
  • ❤ 1
More from @javascriptv
  1. Sep 14, 2026photo post
  2. Sep 13, 2026Fancy Button Кнопка с эффектом обрезанных углов, реализованная на чистом CSS. https://code…
  3. Sep 9, 2026⚡️ Релиз ChatGPT Images 2.5 Новое поколение генератора изображений работает на 50% быстрее…
  4. Sep 8, 2026Color Palette Палитра с оттенками цветов. Полноценно работает с компьютера. Логика переклю…
  5. Sep 8, 2026📍ОФЛАЙН, Москва 📆 16 сентября, 19:00 AI Meetup для инженеров от OneTwoTrip 💛🤖 Искусств…
  6. Sep 4, 2026Player/User Cards Карточки игроков (пользователей) с просмотром дополнительной информации…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →