📘

Utility Types: Partial, Pick, Omit, and More

Intermediate
110 XP
45 min
Lesson Content

Utility Types

TypeScript provides built-in utility types that transform existing types. Essential for React state updates and Vue reactivity.

Partial<T>

interface User {
  name: string;
  age: number;
}

// All properties become optional
let partialUser: Partial = { name: "John" };

Pick<T, K>

// Pick specific properties
let nameOnly: Pick = { name: "John" };

Omit<T, K>

// Omit specific properties
let withoutAge: Omit = { name: "John" };

Required<T>

// Make all properties required
let required: Required> = { name: "John", age: 30 };
Example Code

Use utility types to transform interfaces

interface Product {
  id: number;
  name: string;
  price: number;
  description?: string;
}

// Create update object with Partial
let update: Partial<Product> = { price: 99.99 };

// Pick only name and price
let summary: Pick<Product, "name" | "price"> = {
  name: "Laptop",
  price: 999
};

console.log(`Update:`, update);
console.log(`Summary:`, summary);

Expected Output:

Update: { price: 99.99 }
Summary: { name: 'Laptop', price: 999 }
Study Tips
  • Read the theory content thoroughly before practicing
  • Review the example code to understand key concepts
  • Proceed to the Practice tab when you're ready to code