What this snippet does
Required<T> only enforces types at compile time; casting bypasses it, leading to runtime errors if data is missing.
Expected output
TypeError: Cannot read properties of undefined (reading 'toUpperCase')
Why practise typing this
Typing utility types 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
- Making all properties optional with PartialUtility Types · intermediate
- Updating user profiles with patch payloadsUtility Types · intermediate
- Making all properties readonlyUtility Types · intermediate
- Creating an immutable configuration objectUtility Types · intermediate
- Mutating a Readonly type via aliasingUtility Types · intermediate
- Picking specific properties from an interfaceUtility Types · intermediate