What this snippet does
TypeScript's typeof checks are case-sensitive and must match the lowercase primitive names.
Expected output
Compile Error: This comparison appears to be unintentional because the types '"string" | "number"' and '"String"' have no overlap.
Why practise typing this
Typing type guards 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
- Narrowing a union with typeofType Guards · beginner
- Processing dynamic input based on typeofType Guards · beginner
- Narrowing class instances with instanceofType Guards · beginner
- Handling specific error subclassesType Guards · beginner
- Using instanceof on primitive stringsType Guards · beginner
- Narrowing object types with the in operatorType Guards · beginner