Diff
Challenge
Get an Object that is the difference between O & O1
Solution
Zur Lösung des Problems können wir einfach auf den einbauten Utility-Typ Omit zugreifen. Zuerst bilden wir die Schnittmenge der beiden Objekte, und entfernen dann
folgend die Eigenschaften, die in beiden Objekten vorhanden sind (erhalten wir durch eine Schnittmenge der Schlüssel / Eigenschaften).
type Foo = {
name: string;
age: string;
};
type Bar = {
name: string;
age: string;
gender: number;
};
type KeysInBothObjects<T, U> = keyof T & keyof U; // keyof Foo & keyof Bar => > "name" | "age"
type Diff<T, U> = Omit<T & U, keyof T & keyof U>;