前端与ts | 青训营笔记

76 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天

课堂重点

这节课学的是typeScript的使用,讲了一些ts的入门以及初步了解ts高阶用法,最后也说了下ts的配置,对ts有个初步的认识,但课程还是归于有限的课程,需要自己多下去琢磨,学习。

详细知识点介绍-泛型

课程中的泛型讲的比较浅薄,不过ts在使用中泛型运用广泛,这里通过私下的学习继续拓展、

1. Exclude 和 extract

Exclude<T, U>,Extract<T, U>前者是把T里面的U去掉,获取剩下的(差集),后者是把T里面的u拿出来,即交集

2. Omit 和 Pick

Omit<T, K>,Pick<T, K> 前者是把T(对象类型)里边的K(键值)去掉,后者是把T里面不是K的key值全去掉

3. Record

Record<K, T>:作用是自定义一个对象,K是对象K的类型,T是value的类型

image.png

4. Partial Required Readonly

Partial<T>,Required<T> 前者是生成一个将T(对象类型)里所有属性都变成可选之后的新类型,后者是将T的所有属性变成必选的类型 Readonly<T>与上面也类似,就是属性变成只读不能修改

5. NonNullable

NonNullable<T>作用是去掉 T 中的 null和 undefined。T为字面量/具体类型的联合类型,如果是对象类型是没有效果的。

6. Uppercase 和 Uppercase

第一个是将所有属性都设置为大写的类型,第二个是所有属性都设置为小写的类型

7. ReturnType

用来得到一个函数的返回值类型

type Func = (value: number) => string;  
let strReturnType<Func>;  
const funFunc = (value: number) => String(value)  
str = fun(1)

个人总结

ts还是值得学习的,这些类型定义跟java很相似,其实也是在培养面向对象编程思维和优雅规整的写代码,不过我还仍需努力,之前尝试将ts用到自己的项目中发现很多地方变成了anyscript。。。唉继续努力

文章参考

TypeScript的实用方法!大家一定要学会啊~一定!!!mp.weixin.qq.com/s/2dyFsly2l… 推荐12个值得学习的TypeScript宝库! mp.weixin.qq.com/s/7WVlgS5dq…