typescript
动态类型意味着运行代码时才知道发生什么javascript
静态类型意味着在代码运行前,就对它的行为做出预测typescript,需要经过编译成最终的javascirpt才能被执行,简单理解就是类型检查
类型
位置:声明可以加在变量,参数,返回值上,只要可以推断出具体类型,就可以省略
编译后都会被擦除,不会出现关键字了
string
number
boolean
number[],string[],boolean[]以此类推
any
type与interface复杂类型
- 可以定义具体的对象里面的属性类型
- ?可选属性,注意以后访问时,可能出现undefined
- 没有具体声明哪种类型时,typescript只要找到像的类型,可能就会把他当做那种类型,就是鸭子类型
“a"|“b”|"c"字面量类型
- 限制变量或者参数的取值
{}=>void函数类型
nullish类型
-
null
-
undefined
- 使用?:这种形式来体现
泛型
- <T extends 父类型>
?可选属性
意义
class
- 类,和java有点像,可以继承,不过本质还是prototype原型
- 可以有get,set方法
- 可以与interface结合使用