前言
虽然ts最终需要编译成js,但是在开发过程中还是需要严格去遵循ts的机制,尽量避免anyscript
和ts-ignore
。在ts和js的选择上还是需要看项目的复杂程度,在项目的程度上去选择ts,否则只会适得其反的效果。
什么是typescript
TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。
中文文档: https://www.tslang.cn/docs
English Doc: https://www.typescriptlang.org/docs/
为什么要学习typescript
?
- TypeScript设计了一套类型机制来保证编译时的强类型判断。
- 强类型还有一个最大好处就是智能提示。
- 模块管理用于多人合作,类型检测用于避免低级错误。
常用ts声明
1 | // https://github.com/Microsoft/TypeScript/issues/14094#issuecomment-373782604 |
某些属性固定,有A属性就不要B属性,二选一
1 | interface A { |
获取1到某个数的声明
1 | type GenerateNumber<T extends number, A extends number[] = [0]> = T extends A['length'] ? T : (A['length'] | GenerateNumber<T, [T, ...A]>); |
属性前缀或者后缀一样
1 | type A = 'a' | 'b'; |