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

ts 使用泛型来做类型映射

使用泛型来做类型映射,将对象(或数组)中类型转换为另一个类型

首先,定义一个类型Student

	// 定义一个类型`Student`interface Student {name: string,age: number}

1、把Student的所有属性都变为可空的

	type Nullable<T> = {[p in keyof T]: T[p] || null}type NullAbleStudent = Nullable<Student>

2、把Student的所有属性都变为只读的

	type Readonly<T> = {readonly [P in keyof T]: T[p]}type ReadonlyStudent = Readonly<Student>

3、把Student的属性都变成可选的

	type Partical<T> = {[P in keyof T]?: T[P]	}type ParticalStudent = Partical<Student>

把属性都变成Promise

	type ToPromise<T> = {[P in keyof T]: Promise<T[P]>}type Coordinate = [number, number]type PromiseCoordinate = ToPromise<Coordinate> // [Promise<number>, Promise<number>]




function toRefs<T extends object> (object: T): {[K in keyof T]: ToRef<T[K]>
}`function toRefs<T extends object>` 这是一个泛型函数,它接受一个类型为 object 的参数 object,并且返回一个新的对象。`: { [K in keyof T]: ToRef<T[K]> }` 这是函数的返回类型,
它使用了 TypeScript 中的映射类型,遍历了输入对象 T 的所有属性,并将它们的类型转换为 ToRef<T[K]>,
这里的 ToRef 是一个类型,它表示将普通值转换为 ref 对象的类型。
http://www.lryc.cn/news/223499.html

相关文章:

  • Compose - 使用 Paging
  • 数据结构与算法-(11)---有序表(OrderedList)
  • 佳易王会员管理系统软件如何下载,基本功能有哪些
  • docker搭建mysql环境
  • 优思学院|推行精益六西格玛困难重重?7大原因分析助你避坑
  • 四川思维跳动商务信息咨询有限公司可信吗?
  • 高防CDN与高防服务器:谁更胜一筹?
  • 2.Netty简单应用
  • 80个10倍提升Excel技能的ChatGPT提示
  • jenkins结合k8s部署动态slave
  • 搜索引擎Elasticsearch基础与实践
  • vue项目electron打包
  • 英伟达发布RAPIDS cuDF框架 pandas在GPU上运行速度快了150倍
  • (a)Mask RCNN总体流程
  • 浅谈数据中心机房末端配电技术与产品监控选型-安科瑞黄安南
  • 红包算法 java实现
  • MVCC中的可见性算法
  • Leetcode73矩阵置零
  • linux重要的目录之proc和dev目录
  • 【组件自定义事件+全局事件总线+消息订阅与发布+TodoList案例——编辑+过度与动画】
  • 单独封装export default .js 在引入
  • 【带头学C++】----- 三、指针章 ---- 3.11 补充重要指针知识(二,拓展基础知识)
  • Jmeter分布式性能测试细节+常见问题解决,资深老鸟带你避坑...
  • 动态表单获取某一项值
  • 短路表达式
  • 风力发电场集中监控系统解决方案
  • SpringDataJpa(二)
  • 软件测评中心▏软件功能测试和非功能测试的区别和联系简析
  • 打卡系统有什么用?如何通过日常管理系统提高企业员工的效率?
  • png怎么转jpg?这款图片转格式工具一学就会用