P in keyof any用法问题

来源:10-17 【高级类型 Record 真实应用】 异步数据扁平化 的实现【 实现方式2】

F_Gump

2021-10-11

这样写不行么?不一定非要用[P in keyof any]: T吧?

type MyRecord<T> = {
  [index: string]: T
}
写回答

2回答

无心殿下

2021-11-15

type MyRecord<T> = Reocrd<T[keyof T], T>;这样写,类型约束更好

0
0

keviny79

2021-10-11

// [P in keyof any]这样写更适合Record的特点,因为Record存储的key 有变数,

//   1 修改更方便  2. 适应场景更多

// 1.修改更方便 ==>泛型个数增加灵活  

type MyRecordExt<TM> = {

  [P in keyof M]: T

}



//  2.1 适应场景更多 

let allMyRecordExt<Carany> = {}


//  2.2 适应场景更多

type CarBrandSort = {

  "铃木"number,//数量

  "丰田"number

}

type Car = { idnumberpricenumberbrandnostring }

//  2.2 适应场景更多

let recordMyRecordExt<CarCarBrandSort> = {

  "铃木": { id: 1price: 100000brandno: "雨燕" },

  "丰田": { id: 2price: 500000brandno: "凯美瑞" }

}



0
0

晋级TypeScript高手,成为抢手的前端开发人才

轻松驾驭 TypeScript 高级用法, 突破前端成长瓶颈

871 学习 · 425 问题

查看课程