Writing Better TypeScript
TypeScript helps us write safer code, but there are patterns that make it even better.
1. Use Discriminated Unions
type Result<T> =
| { success: true; data: T }
| { success: false; error: string };
2. Prefer unknown over any
// Bad
function parse(input: any) { ... }
// Good
function parse(input: unknown) { ... }
3. Use Template Literal Types
type EventName = `on${Capitalize<string>}`;
4. Const Assertions
const colors = ['red', 'green', 'blue'] as const;
type Color = typeof colors[number]; // 'red' | 'green' | 'blue'
5. Utility Types Are Your Friends
Learn and use Pick, Omit, Partial, Required, and Record extensively.
Conclusion
These patterns will make your TypeScript code more type-safe and maintainable.