ts的类型注解
哈哈,看到这个词是不是挺唬人的,我刚开始学习也是一样,其实类型注解就是ts为一个变量,或者一个对象,一个数组,一个函数,一个类等定义了类型,就是类型注解。就是声明了类型。
let numA :number
numA = 6
这里声明变量numA为数字类型,这就叫做ts为numA做了类型注解。类型注解不仅仅限于基础类型,还有我们上一节学的对象类型的注解。
ts的类型推断
ts具备类型判断能力
let numB = 6
声明的变量numB我们在这里并没有声明类型,但是ts的类型推断可以将变量定义为数字类型,不需要类型注解意味着ts会通过类型推断来判断出类型并定义。
let number1 = 1
let number2 = 3
const numberTotal = number1 + number2
// 测试numberTotal ts类型推断为number类型,而number1、number2同样也不需要写类型注解
需要写类型注解的列子:
function getTotal(one, two) {// ts会提示one,two是any类型,这时候你传字符串,你的业务逻辑就会出错
return one + two
}
const total = getTotal(1, 3)
修改后:
function getTotal(one: number, two: number) {
return one + two
}
const total = getTotal1(1, 3)
// 这里的total变量不需要加类型注解,因为当one、two类型确定后,ts会通过类型推断能力定义total的类型
ts代码里面的每个变量,每个对象的属性类型都应该是固定的,如果你推断就让它帮你推断,推断不出来的时候就需要类型注解