В последнее время я начал делать некоторые исследования в Finite State Machines в JavaScript и даже нашел библиотеку, которая упрощает их реализацию. Хотя я думаю, что понял, что конечный автомат используется для отслеживания и изменения "состояния" объекта (например, "готовый", "полный", "неактивный" и т.д.), Я не думаю, я полностью понимаю их практическое значение. Может кто-то помочь, пояснив следующее:
- Что такое конечный автомат [или он просто называется конечным автоматом? Я слышал, что это упоминалось в обоих направлениях]?
- Каковы некоторые практические применения для конечных автоматов (в JavaScript)?
- Когда я не хочу использовать конечный автомат?
- Какие книги, статьи, учебные пособия и т.д. предлагают более глубокий взгляд на конечные машины (в JavaScript)?