一、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

 
 
 
 