What this snippet does
If the condition doesn't match (e.g. string isn't a Promise), the infer branch isn't taken, yielding never or the false branch.
Expected output
Compile Error: Type 'any' is not assignable to type 'never'.
Why practise typing this
Typing conditional 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
- Basic ternary type logicConditional Types · intermediate
- Inferring response type based on inputConditional Types · intermediate
- Distributive nature of conditional typesConditional Types · intermediate
- Inferring the element type of an arrayConditional Types · intermediate
- Extracting the resolved type of a PromiseConditional Types · intermediate
- Filtering types out of a unionConditional Types · intermediate