TypeScript 开发实战
梁宵
搜狗营销事业部高级架构师
34174 人已学习
新⼈⾸单¥59
课程目录
已完结/共 47 讲
TypeScript 开发实战
登录|注册
留言
7
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 13 | 泛型(1):泛型函数与泛型接口
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 重塑“类型思维”
02 | 类型基础(1):强类型与弱类型
03 | 类型基础(2):动态类型与静态类型
04 | 编写你的第一个TypeScript程序
05 | 基本类型
06 | 枚举类型
07 | 接口(1):对象类型接口
08 | 接口(2):函数类型接口
09 | 函数相关知识点梳理
10 | 类(1):继承和成员修饰符
11 | 类(2):抽象类与多态
12 | 类与接口的关系
13 | 泛型(1):泛型函数与泛型接口
14 | 泛型(2):泛型类与泛型约束
15 | 类型检查机制(1):类型推断
16 | 类型检查机制(2):类型兼容性
17 | 类型检查机制(3):类型保护
18 | 高级类型(1):交叉类型与联合类型
19 | 高级类型(2):索引类型
20 | 高级类型(3):映射类型
21 | 高级类型(4):条件类型
22 | ES6与CommonJS的模块系统
23 | 使用命名空间
24 | 理解声明合并
25 | 如何编写声明文件
26 | 配置tsconfig.json(1):文件选项
27 | 配置tsconfig.json(2):编译选项
28 | 配置tsconfig.json(3):工程引用
29 | 编译工具:从ts-loader到Babel
30 | 代码检查工具:从TSLint到ESLint
31 | 使用Jest进行单元测试
32 | 创建项目
33 | 组件与类型(1):函数组件与类组件
34 | 组件与类型(2):高阶组件与Hooks
35 | 事件处理与数据请求
36 | 列表渲染与路由
37 | Redux与类型
38 | 搭建服务端开发环境
39 | 列表的CRUD
40 | 导出Excel
41 | 搭建Vue开发环境
42 | 组件封装
43 | 组件发布
44 | 共存策略
45 | 宽松策略
46 | 严格策略
47 | 结课测试&结束语
本节摘要
登录 后留言

全部留言(7)

  • 最新
  • 精选
Hurry
老师,下面两种的区别 ``` type Log = <T>(value: T) => T; type Log<T> = (value: T) => T; ``` 或者 ``` interface Log { <T>(value: T):T } interface Log<T> { (value: T):T } ```

作者回复: 1、3是等价的,使用时无需指定类型: let log: Log = ... 2、4是等价的,使用时必须指定类型 let log: Log<number> = ...

2019-07-25
18
Geek_gaoqin
老师,请教个问题呢?比如我们项目的api的reasponse 有个基本的格式,其余的接口都符合这个基本格式,只是里面的data类型不一样,你看看我这样写对吗?比如 interface BaseResponse<T> { success: string; data:T; ....} 然后具体的请求的response的类型比如 export type GetUserResponse = BaseResponse<IUser>; 我这样写是对的吗?或者是不是还能用extends实现?

作者回复: 这样定义是没问题的,如果有BaseResponse之外的属性就需要 extends了

2020-12-21
1
带带大师兄
把泛型理解为代表类型的参数,老师这句话太棒了
2019-08-06
3
8
🐳李小博🐳
接口可以相互继承 类可以相互继承 接口可以继承类, 继承了成员结构,而不用实现,继承了类的共有成员,包括私有成员和保护成员 类可以实现接口,实现的是接口的共有成员,不能实现带私有成员的接口
2020-04-10
3
Hello
理解: 把泛型变量和函数参数等同对待,它是代表类型的参数不是代表值的参数
2020-03-29
2
万家灯火
泛型使用时必须得到具体类型即 泛型是在运行时,明确类型。 1. 泛型函数,可以不必明确指出泛型类型,因为存在类型推断。会根据实参类型,进而设置泛型类型。 2. 泛型接口|类型, 需要明确指出泛型类型。因为此时的泛型与实参无关,需要手动录入,否则编译器无法识别类型。
2022-04-25
1
xgqfrms
# 泛型 ```ts type Log = <T>(value: T) => T; interface Log { <T>(value: T):T } // 等价的,使用时无需指定类型: let log: Log = ... ``` ```ts type Log<T> = (value: T) => T; interface Log<T> { (value: T):T } // 等价的,使用时必须指定类型 let log: Log<number> = ... ````
2020-03-10
1
收起评论