好事总会发生在下个转弯。希望你的愿望都能一一实现。
本文纯属个人理解,学习记录知识的笔记,如有错误请指出,我会及时改正谢谢!!
一.基本语法
1.基础类型: string, void(没有返回值), array, number, object, undefined
2.enmu(枚举类型)默认不设置的时候会是按照数字进行排序,设置值后别人引用时会有显示具体的值
3.type和interface(描述数据结构,描述接口返回值的数据结构)
4.联合类型(|)和交叉数据类型(&),联合类型一次只能用一种类型,交叉类型每次都是合并的所有类型
5.typeof可以用来获取变量的返回类型
6.keyof用来获取变量中所有的key
7.in用来遍历枚举类型
8.extends用于约束泛型的。 x就是约束泛型的条件
9.?:用于设置可选类型,type b = Partial<“一个特定值”> 表示A中的属性都变成可选类型 type b = Require <“一个特定值”> 表示A中的属性全部变成必选项
二.常见面试题
1.TS的好处: 1.ts是js的加强版,并且给Js增加很多功能 2.TS是面向对象变成,包含很多类和接口的东西并且能在开发中显示报错 3可以知道所有数据的数据类型,便于统一
2.通常用interface来描述数据结构,用type来描述类型 相同点都能用来描述函数和对象,都允许使用extends继承 不同点: type可以使用别名可以声明联合类型可以声明数组中具体的位置的数据
3.泛型可以做类型传参也可以约束泛型
4.如何基于一个类型进行扩展出几个相似的类型可以使用picker<"基于的泛型", “想要取出的数据”>(取出基于一个类型中的某些属性)或者是Omit<"基于的泛型", “想要取出的数据”>(取出出基于一个类型中的某些属性)