TypeScript

Loss of narrowing in non-strict equality in TypeScript

TypeScriptControl Flow & NarrowingSwitch True Patternsadvanced

What this snippet does

TypeScript sometimes fails to narrow types correctly when using loose equality (==) inside switch(true) conditions.

Expected output

empty

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

Browse all TypeScript snippets →