Closed1

型推論がきかない

たふみたふみ

TypeScriptで,

type Cat<K extends string> = `Cat ${K}`

type Dog<K extends string> = `Dog ${K}`

type SampleObject<T> = {
  [K in Extract<keyof T, string>]: {
    A: Cat<K>
    B: Dog<K>
  }
}

const s: SampleObject = {
  Taro: {
    A: 'Cat Taro',
    B: 'Dog Taro',
  }
}

で,SampleObjectに型パラメーターを渡さずともTの型推論してほしいのだが,これができないっぽい.そして現状SampleObjectのキーでリストを持っておくぐらいしか型パラメーターを渡す方法がないのである (そこでのrecursiveはさすがにだめだった)

このスクラップは2021/09/14にクローズされました