#599Medium

Merge

Implement the `Merge<F, S>` type, that merges two types into a new type. Master mapped types in TypeScript in this medium-level challenge on TypeScriptPro.

In this medium-level challenge, you'll use Merge<F, S> to merge two types into a new type. The keys of the second type overrides keys of the first type.

Challenge Instructions: Merge

Medium

Merge two types into a new type. Keys of the second type overrides keys of the first type.

For example

type foo = {
name: string
age: string
}
type coo = {
age: number
sex: string
}
 
type Result = Merge<foo, coo> // expected to be {name: string, age: number, sex: string}

Change the following code to make the test cases pass (no type check errors).

Loading...

Video Walkthrough

Detailed Explanation

type Merge<F, S> = {
  [Key in keyof F | keyof S]: Key extends keyof S
    ? S[Key]
    : Key extends keyof F
      ? F[Key]
      : never
}

How it works:

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.

Share this challenge

Join early, learn faster.

Be the first to access the course, unlock exclusive launch bonuses, and get special early-bird pricing before anyone else.

No spam, unsubscribe at any time. We respect your privacy.

Limited Availability

Only 27 Spots left

Early Access

Get 1 month early access

>75% Off

Pre-Launch discount