Optional Keys
Challenge
Implement the advanced util type OptionalKeys<T>, which picks all the optional keys into a union.
Solution
Für die Lösung dieser Aufgabe muss man einfach die Kondition aus der Aufgabe Required umdrehen, um alle Keys zu finden, die optional sind.
Ergänzend packt man noch den keyof-Operator dazu, um besagte Attribute als Vereinigung zu erhalten.
type OptionalKeys<T> = keyof {
[Key in keyof T as Omit<T, Key> extends T ? Key : never]: T[Key];
};