What this snippet does
Storing discriminant checks in variables preserves narrowing, making complex conditional logic much easier to read and write safely.
Expected output
yes
Why practise typing this
Typing control flow & narrowing code builds muscle memory for the symbols and indentation TypeScript 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 TypeScript practice
- Using never to ensure exhaustive switchesControl Flow & Narrowing · intermediate
- AssertNever pattern for state machinesControl Flow & Narrowing · intermediate
- Failing exhaustive check after adding a union memberControl Flow & Narrowing · intermediate
- Narrowing via switch(true)Control Flow & Narrowing · advanced
- Categorizing values with switch(true)Control Flow & Narrowing · advanced
- Loss of narrowing in non-strict equalityControl Flow & Narrowing · advanced