Перейти к основному содержимому
Об авторе
Проекты
Знания
Знания/TypeScript/utility-partial-required

Как работают `Partial<T>`, `Required<T>` и `Readonly<T>`?

СобеседованиеУтилитарные типы
  • Partial<T> = { [P in keyof T]?: T[P] } — все свойства опциональны
  • Required<T> = { [P in keyof T]-?: T[P] } — все свойства обязательны (-? удаляет опциональность)
  • Readonly<T> = { [P in keyof T]: +readonly T[P] } — все свойства только для чтения
  • Все три — поверхностные (shallow), не действуют на вложенные объекты
  • Для глубоких вариантов используют рекурсивные mapped types: DeepPartial, DeepReadonly
  • Главная
  • Об авторе
  • Проекты
  • Знания
Логотип nKolmykov