Sobes.tech
Back to questions
Middle+
2

Какие utility-типы в TypeScript знаешь?

Companies where asked
Ifellow

Answer from AI

sobes.tech AI

В TypeScript есть несколько полезных utility-типов, которые помогают трансформировать и комбинировать типы:

  • Partial<T> — делает все свойства типа T необязательными.
  • Required<T> — делает все свойства типа T обязательными.
  • Readonly<T> — делает все свойства типа T только для чтения.
  • Record<K, T> — создаёт тип объекта с ключами K и значениями T.
  • Pick<T, K> — выбирает подмножество свойств K из типа T.
  • Omit<T, K> — исключает свойства K из типа T.
  • Exclude<T, U> — исключает из типа T все типы, совместимые с U.
  • Extract<T, U> — выбирает из T только те типы, которые совместимы с U.
  • NonNullable<T> — исключает null и undefined из типа T.
  • ReturnType<T> — получает тип возвращаемого значения функции T.
  • Parameters<T> — получает кортеж типов параметров функции T.

Пример использования Partial:

interface User {
  id: number;
  name: string;
  email: string;
}

const updateUser = (user: Partial<User>) => {
  // можно передать только часть полей
};

updateUser({ name: "Alice" });

Эти типы помогают писать более выразительный и безопасный код.