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