TGViewer
JavaScript задачи с собеседований JavaScript задачи с собеседований @javascriptquiz · 4.63K subscribers
Post #1990 620
Компилятор как суперсила: state machine без хаоса в коде

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

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

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

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

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

State machine становится не схемой в голове разработчика, а контрактом, который проверяется компилятором.
More from @javascriptquiz
  1. Oct 12, 2026🔐 В интернете сменили один из важнейших криптографических ключей. Всего второй раз в исто…
  2. Oct 8, 2026Почему сайт узнаёт тебя после удаления cookies? Удалил cookies, но сайт будто помнит тебя?…
  3. Oct 6, 2026Arc Time Slider Это кастомный слайдер, разработанный с использованием веб-технологий HTML,…
  4. Oct 5, 2026Ознакомьтесь с этими 5 советами по адаптивному веб-дизайну 👨‍💻
  5. Oct 3, 2026Импорт локальных изображений vs использование изображений из папки / public в Next.js
  6. Oct 2, 2026Совет по веб-доступности 💡 Лучший способ сделать ваши ссылки, состоящие только из иконок,…
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 →