Episode 9 of 21

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

  • type keyword 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