TypeScript · Senior · Pytanie 6 z 75

Jak zaimplementować DeepPartial<T>?

type DeepPartial<T> = T extends object
  ? { [K in keyof T]?: DeepPartial<T[K]> }
  : T;

Wyjaśnienie

Aliasy typów mogą odwoływać się do siebie. Prawdziwa implementacja powinna osobno obsłużyć tablice, funkcje i Date, by nie „rozbierać” ich na właściwości. Głęboka rekurencja ma limit instancjacji, więc ogromne typy spowalniają kompilator.

Do poczytania

Błąd w pytaniu

TypeScript · Senior · pytanie 6

Sprawdź się

Rozwiąż test TypeScript · Senior: pytania i odpowiedzi są tasowane, a na końcu czeka przegląd błędów.

Rozwiąż ten test