当前位置: 首页 > news >正文

【typescript】omit和pick的好处,以及区别和用法

使用omit和pick的好处

比如你的项目某个模块目录下定义了一个专门的types.ts文件,专门用来存放类型定义,这个时候有一个新的接口的数据和之前的某个定义是被包含的关系,那么为了避免重复定义类型,就可以使用omit或者pick去挑选出我们想要的那些属性进行ts定义及校验

一、Omit

两个参数,第一个参数是类型(对象),第二个参数是类型(对象)里的属性名(一个或多个),第二个参数可以用来告知ts要排除哪些字段的ts校验,其他字段会被ts保留

二、Pick

两个参数,第一个参数是类型(对象),第二个参数是类型(对象)里的属性名(一个或多个),第二个参数可以用来告诉ts要指定使用哪些字段的ts校验,其他字段会被ts忽略

Omit

interface Person {name: string,age: number,sex: string,
}
let person: Omit<Person, 'name'> = {age: 15,sex: '男'
}

2.Pick

interface Person {name: string,age: number,sex: string,
}
let person: Pick<Person, 'name' | 'age'> = {name: '王思聪',age: 32,
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 怎么做好客户信息管理?
  • linux日常运维2
  • web前端三大主流框架
  • PHP preg_replace正则表达式涉及汉字乱码
  • c++——模板初始识
  • mysql内存和磁盘的关系
  • 数学建模——线性回归模型
  • Apache Doris 基础 -- 数据表设计(数据模型)
  • 充电器快充协议与PW6606快充电压诱骗芯片
  • Linux完整版命令大全(二十一)
  • 前端面试题12-22
  • 惯性测量单元M-G370系列广泛用于工业系统各个领域
  • 工控屏(触摸屏)怎么连接电脑
  • 首发AI新功能 贝锐向日葵远程控制IT精英版助力IT运维
  • Oracle dblink 发现Network 等待事件的分析 enq: KO - fast object checkpoint
  • JavaScript-如何实现克隆(clone)函数
  • 【Leetcode】104. 二叉树的最大深度
  • const let
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • java中的hashCode
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • Sass 快速入门教程
  • 阿里云前端周刊 - 第 26 期
  • 力扣(LeetCode)56
  • 前端路由实现-history
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 小而合理的前端理论:rscss和rsjs
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 如何用纯 CSS 创作一个货车 loader
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ​​​​​​​​​​​​​​Γ函数
  • ​用户画像从0到100的构建思路
  • #### golang中【堆】的使用及底层 ####
  • #if等命令的学习
  • (16)Reactor的测试——响应式Spring的道法术器
  • (21)起落架/可伸缩相机支架
  • (pytorch进阶之路)扩散概率模型
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (二)windows配置JDK环境
  • (分布式缓存)Redis哨兵
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (利用IDEA+Maven)定制属于自己的jar包
  • (五)activiti-modeler 编辑器初步优化
  • (一一四)第九章编程练习
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)Unity3DUnity3D在android下调试
  • .equals()到底是什么意思?
  • .NET CF命令行调试器MDbg入门(一)
  • .NET Core 2.1路线图