JavaScript

state machine in JavaScript

JavaScriptDesign PatternsFinite State Machineadvanced

What this snippet does

A finite state machine makes all valid transitions explicit — any illegal event throws instead of causing silent corruption.

Expected output

red --[go]--> green
green --[slow]--> yellow
yellow --[stop]--> red

Why practise typing this

Typing design patterns code builds muscle memory for the symbols and indentation JavaScript uses most, which prose-based typing tests never cover. DevType measures your words per minute and accuracy on this snippet and tracks the individual characters you mistype, so later lessons can target them.

More JavaScript practice

Browse all JavaScript snippets →