一、javascript的问题






二、初识typescript






https://mp.weixin.qq.com/s/wnL1l-ERjTDykWM76l4Ajw



三、类型


二进制:ob开头,八进制:0o开头,十六进制:0x开头




开发中不这样写

这样写






匿名函数的参数最好不要指定参数类型,会根据上下文推导出



any类型

unknow类型
unknown类型默认情况下在上面进行任意的操作都是非法的
要求必须进行类型的校验(缩小), 才能根据缩小之后的类型, 进行对应的操作


void类型
函数指定返回值是void,允许return undefined,并不会报错



never类型
①实际开发中只有进行类型推导时, 可能会自动推导出来是never类型, 但是很少使用它
②封装框架/工具库的时候可以使用一下never






联合类型


类型别名
type

interface
只能用来声明对象

interface和type的区别



交叉类型



类型断言 as


非空类型断言


字面量类型


类型缩小





ts函数类型

匿名函数的参数不需要写类型注解,ts会自动推导




















可推导的this类型
https://mp.weixin.qq.com/s/hYm0JgBI25grNG_2sCRlTA

tsc --init 初始化ts配置文件









四、ts中的面向对象



private和protected 实例不可访问






是个语法糖,必须显示的写上修饰符




ts使用的类型检测方法:鸭子类型

类的类型


索引签名





接口继承



严格的字面量赋值检测



枚举类型



五、泛型















https://github.com/type-challenges/type-challenges
https://ghaiklor.github.io/type-challenges-solutions/en/


六、语法扩展
ts模块化






https://github.com/microsoft/TypeScript/tree/main/lib




快速搭建一个webpack server








tsconfig.json




