2. Required<T>を実装する

TypeScript

  - accepted / - tried

Partial<T>の真逆で、 Required<T>では全てのプロパティーをrequiredにする。

MyRequired<T>を実装してみてください。

// all properties are optional
type Foo = {
  a?: string
  b?: number
  c?: boolean
}


const a: MyRequired<Foo> = {}
// Error

const b: MyRequired<Foo> = {
  a: 'BFE.dev'
}
// Error

const c: MyRequired<Foo> = {
  b: 123
}
// Error

const d: MyRequired<Foo> = {
  b: 123,
  c: true
}
// Error

const e: MyRequired<Foo> = {
  a: 'BFE.dev',
  b: 123,
  c: true
}
// valid

5分間以内で解いてみて

(28)