TypeScript, properly
The type system as it actually behaves — narrowing, variance, and the operators people reach for without quite knowing why.
Try a card
TypeScript, properly1 of 3
Say it in your head first.
Questions
- 01What can you do with an
unknownvalue that you cannot do withany? - 02What does
satisfiesdo that a type annotation does not? - 03What makes a union discriminated?
- 04Why is
readonly string[]not assignable tostring[]? - 05What does
inferdo inside a conditional type? - 06What is declaration merging?
- 07How does
strictNullCheckschange the meaning of every other type? - 08What does
keyof { a: 1; b: 2 }evaluate to?
…and 6 more cards. The answers are yours to find.
