有时候需要一个类型,是依赖于上一个类型但是,对属性的要求去不同interface Person{name: string;agent: number;
}
type Person2 = Readonly<Person>;
type Person3 = Partial<Person>;
class Test {run() {let person: Person = {name: 'dd',agent: 1};person.name = 'cc';let person2: Person2 = {name: 'read',agent: 1};// person2.agent = 3; 报错let person3: Person3 = {name: 'person 3' // 属性不完整也不会报错}}
}ReadOnly、Partial源码type Readonly<T> = {readonly [P in keyof T]: T[P];
}
type Partial<T> = {[P in keyof T]?: T[P];
}用 in, keyof即可实现type Pick<T, K extends keyof T> = {[P in K]: T[P];
}
type Record<K extends string, T> = {[P in K]: T;
}

  

转载于:https://www.cnblogs.com/smzd/p/11206044.html

typescript 类型映射 (ReadOnly、Partial)相关推荐

  1. Typescript 类型的常用知识与技能

    Typescript 类型系统 本文主要整理与翻译自 lib.es5.d.ts与微软Typescript文档.MDN文档. 邮箱 :291148484@163.com CSDN 主页:https:// ...

  2. 你所不了解的TypeScript 类型编程

    点击上方"前端开发博客",选择"设为星标" 回复"2"加入前端群 前言 作为前端开发的趋势之一,TypeScript正在越来越普及,很多人像 ...

  3. TypeScript类型

    implements子句 类可以实现接口,使用关键字implements 可以使用一个implements子句来检查一个类,是否满足了一个特定的接口.如果一个类不能正确地实现它,就会发出一个错误 注意 ...

  4. NHibernate VS .NET Type VS DbType 的类型映射关系

    在使用NHibernate作为ORM工具的时候,我们经常会用到配置文件,包括NH的配置和实体映射的配置. 在配置实体映射关系的时候,有时候需要配置属性的类型映射,因为.NET的数据类型和数据库的数据类 ...

  5. Oracle -jdbc-java 的类型映射

    http://blog.csdn.net/a9529lty/article/details/6023331 Oracle 8i 的类型映射 下表列出了用于 Oracle 8i 数据库的数据库类型和 J ...

  6. java高级用法之:JNA类型映射应该注意的问题

    文章目录 简介 String Buffers,Memory,数组和Pointer 可变参数 总结 简介 JNA提供JAVA类型和native类型的映射关系,但是这一种映射关系只是一个大概的映射,我们在 ...

  7. IIS服务器上增加mp4格式MIME 类型映射设置具体步骤

    2019独角兽企业重金招聘Python工程师标准>>> 也许你会在纳闷,为什么我上传了flv或MP4文件到服务器,可输入正确地址通过http协议来访问总是出现"无法找到该页 ...

  8. CSRobot gen:mssql-c#类型映射

    CSRobot的gen命令,有一个参数--map,是指数据库字段类型到实体类型映射,本例是sql server到csharp的类型映射: SQL Server C# bigint Int64 bina ...

  9. java 不同类型 映射_如何使用Java泛型映射不同的值类型

    java 不同类型 映射 有时,一般的开发人员会遇到这样的情况,即他必须在特定容器内映射任意类型的值. 但是,Java集合API仅提供与容器相关的参数化. 例如,这将HashMap的类型安全使用限制为 ...

最新文章

  1. Ubuntu下用matplotlib作图时显示中文
  2. 一个比较简单、非常简单的计算器
  3. Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
  4. 链表题目--1 删除链表中所有等于val的值
  5. HTMLTestRunner测试报告
  6. 怎么把线稿提取出来_如何快速提取漫画线稿?【漫画技巧】
  7. 米斯特白帽培训讲义(v2)漏洞篇 文件包含
  8. numpy 矩阵求逆_numpy 矩阵运算
  9. CCF201703-5 引水入城(100分题解链接)
  10. win7便签的字体设置
  11. 北京大学冬令营(PKUWC2018)总结
  12. 计算机网络适配器找不到,网络适配器不见了怎么办?电脑Windows网络适配器不见了的5个解决方法...
  13. 吐血推荐 36招搞定电脑一切难题
  14. 零基础小白应该怎么入门编程开发
  15. python用glob遍历文件_python中用glob快速获取文件列表
  16. 【Unity】 节奏类游戏的表盘卡点功能
  17. 计算机毕业设计ssm企业部门报销管理g9d62系统+程序+源码+lw+远程部署
  18. 引擎师(引擎)“悠歌”回合文案释义
  19. 16QAM调制解调仿真(matlab,详细介绍仿真方案的设计、结果及结论、完整代码及注释)
  20. 满足ASIL D的新能源汽车紧凑型逆变器产品开发及量产

热门文章

  1. H.264码流解析 一个SPS的nalu及获取视频的分辨率
  2. MFC,晕,今天才偶然发现FloatControlBar。。。
  3. php去掉最后一个,号,织梦当前位置去除最后一个''符号
  4. zynq中mgtx应用_基于ZYNQ的UCOS移植(TCP通讯)
  5. 电脑关闭计算机怎么重启计算机,教您电脑关机后总是重启怎么办
  6. apache php mysql 整合_PHP+Apache+MySQL整合
  7. iOS手势操作简介(一)
  8. ORACLE导出导入意外终止导致 ORACLE initialization or shutdown in progress 问题解决
  9. JAVA EE 基本了解
  10. 反射笔记-----------------------------