一、类型
1. 静态类型
静态类型:
- 当一个变量是静态类型,不仅仅意味着这个变量的类型不能被修改,而且该变量的属性和方法已经确定了,正是因为这样,编辑器在我们编辑代码的时候会给我们很好的提示。
- 静态类型可以帮我我们更直观的判断出属性的类型。
分为:- 基础类型:
- number
- string
- null
- undefined
- symbol
- boolean
- void
- 对象类型
- {}
- const teacher: {name: string; age: number}
- []
- const numbers: number[] = [1,2,3]
- Class
- const dell: Person = new Person();
- function
- const getTotal: () => number = () => {return 123;}
- {}
- 基础类型:
2. 类型注解[type annotation]和类型推断[type inference]
-
类型注解,意思是我们告诉TS变量是什么类型。
# 两行定义 let count: number; count = 123; # 如果是一行,则不需要类型注解 let count = 123;
- 这种显示的声明变量类型,就是类型注解。
-
类型推断,意思是TS会自动的尝试分析变量的类型。
let num = 3;
-
如果已经可以推断出类型,则不需要再定义类型。
const firstNum = 1; const secordNum = 2; const sum = firstNum + secordNum;
-
如果推断不出类型,则需要手动添加类型。比如,方法中的形参,接口的返回值。
如果不添加注解:
# 需要添加类型注解 function getTotal(firstNum: number, secordNum: number) { return firstNum + secordNum; } const total = getTotal(1, 2)
-
可以给一个变量定义多个类型
let temp: number | string = 123; temp = "456";