Sobes.tech
Back to questions
Middle+
3

Расскажи про utility types в TypeScript: какие использовал и для чего?

Companies where asked
Твое Лайв

Answer from AI

sobes.tech AI

В TypeScript utility types — это встроенные типы, которые помогают трансформировать или комбинировать другие типы, упрощая работу с типами и повышая читаемость кода.

Часто используемые utility types:

  • Partial<T> — делает все свойства типа T необязательными. Полезно для обновления объектов, когда не все поля обязательны.

    interface User { id: number; name: string; age: number; }
    const updateUser: Partial<User> = { name: "Новый имя" };
    
  • Required<T> — наоборот, делает все свойства обязательными.

  • Readonly<T> — делает все свойства только для чтения, предотвращая их изменение.

  • Pick<T, K> — выбирает из типа T только указанные свойства K.

  • Omit<T, K> — исключает из типа T указанные свойства K.

  • Record<K, T> — создает тип объекта с ключами K и значениями типа T.

  • Exclude<T, U> — исключает из типа T все типы, которые присутствуют в U.

  • Extract<T, U> — оставляет в T только те типы, которые есть в U.

  • NonNullable<T> — исключает null и undefined из типа T.

Использование utility types помогает писать более выразительный и безопасный код, избегая дублирования и ошибок при работе с типами.