TypeScript·Intermediate·Conceptual·1 min read
What makes a good discriminator?
Short interview answer
It exists on every member, uses a distinct stable literal in each one, and describes domain identity such as status, kind, or type. A broad string cannot support exhaustive narrowing.
Key takeaway
Explain the underlying mental model clearly, then support it with a concrete example and its trade-offs.