Implement the `Diff<O, O1>` type, that returns an object with the difference between two objects. Master union and intersection types in TypeScript in this medium-level challenge on TypeScriptPro.
In this medium-level challenge, you'll implement the Diff<O, O1> type, that returns an object with the difference between two objects.
Get an Object that is the difference between O & O1
Change the following code to make the test cases pass (no type check errors).
type Diff<O, O1> = Omit<O & O1, keyof (O | O1)>How it works:
keyof (O | O1) creates a union of all keys that are in BOTH objects O and O1O & O1 creates an intersection of the objects giving us a new object with all keys that are in at least ONE objectOmit to remove all keys that are in both objects (keyof (O | O1)) from the intersection of the objects (O & O1), giving us the difference between the two objects.This challenge helps you understand TypeScript's advanced type system and how to apply this concept in real-world scenarios.
This challenge is originally from here.
Be the first to access the course, unlock exclusive launch bonuses, and get special early-bird pricing before anyone else.
Only 27 Spots left
Get 1 month early access
Pre-Launch discount