ts: 映射类型

ts: 映射类型

码农世界 2024-05-31 前端 83 次浏览 0个评论

映射类型会携带接口的可选和只读属性

interface User {  
  name: string;  
  age?: number;  
  readonly email: string;  
}  
interface User {  
    name: string;  
    age?: number;  
    readonly email: string;  
  }  
type change = {
    [P in keyof T]: T[P]
}
type obj = change 
// 可以看到obj为
//type obj = {
//     name: string;
//     age?: number | undefined;
//     readonly email: string;
// }

通过内置的Require<>可以破坏可选属性 通过-readonly可以移除只读属性

[keyof T] 可以取得映射类型的结果

type Test = T[keyof T]
type test = Test<{a:1, b:2}> // 结果是 1 | 2

转载请注明来自码农世界,本文标题:《ts: 映射类型》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,83人围观)参与讨论

还没有评论,来说两句吧...

Top