What this snippet does
If the conditional logic doesn't evaluate to 'never' for the targeted key, the key remains in the resulting type.
Expected output
Compile Error: Object literal may only specify known properties, and 'a' does not exist in type 'Pick<{ a: 1; b: 2; }, "b">'.Why practise typing this
Typing type manipulation 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
- Creating a type from string literalsType Manipulation · advanced
- Generating event listener names from propertiesType Manipulation · advanced
- Assigning a raw string to a template literal typeType Manipulation · advanced
- Uppercasing a string literal typeType Manipulation · advanced
- Creating a constant case from camelCaseType Manipulation · advanced
- String manipulation utils only work on literal typesType Manipulation · advanced