Type Aliases
Create reusable type aliases to simplify complex types and improve code readability.
Type Aliases
Type aliases let you create custom names for types, making complex types reusable and readable.
Basic Type Alias
type StringOrNumber = string | number;
let uid: StringOrNumber;
uid = "abc"; // ✅
uid = 123; // ✅
Object Type Alias
type User = {
name: string;
age: number;
id: StringOrNumber;
};
const userOne: User = { name: "Mario", age: 30, id: "abc" };
const userTwo: User = { name: "Luigi", age: 28, id: 456 };
Type Aliases with Functions
type User = { name: string; age: number };
const greet = (user: User): string => {
return `Hello ${user.name}, age ${user.age}`;
};
Intersection Types
type HasName = { name: string };
type HasAge = { age: number };
type Person = HasName & HasAge;
const person: Person = { name: "Mario", age: 30 };
Key Takeaways
typekeyword creates reusable type aliases- Use them for union types, object shapes, and more
- Intersection types (
&) combine multiple types - Makes code DRY and easier to maintain