TypeScript中有两个概念,类型注解和类型推断,下面我们去分别理解这两个概念。
一、类型注解
let count:number = 123;
上面的代码就是类型注解,我们声明count是一个number类型的变量,简单说类型注解就是我们告诉程序这个变量是什么类型。
二、类型推断
明白了类型注解之后我们来看类型推断
let username = "小李";
这段代码我们并没有对变量username进行类型注解,但是当我们把鼠标放到username上时,会发现ts已经把变量注解成了string,这就说明了ts是有推断能力的,这就是所谓的类型推断。
三、类型注解的使用场景
学习完前两个概念后,我们还要了解类型注解的使用场景,也就是说什么时候去使用类型注解,什么时候不需要去使用类型注解。
1.不需要
let num1 = 10;
let num2 = 20;
let num3 = num1 + num2;
当我们把鼠标放到num1和num2上的时候,ts回推断变量的类型返回number,所以num3也会被推断为number类型的值。
2.需要
function getTotal(num1, num2) {
return num1 + num2
}
const total = getTotal(1, 2)
当我们吧鼠标放到num1和num2上的时候,显示的值却是any,这是因为这时ts推断不出num1和num2的类型,因为getTotal传的参数的类型不能确定,所以这时需要加类型注解,应该这样写
function getTotal(num1: number, num2: number) {
return num1 + num2
}
const total = getTotal(1, 2)
总结:
如果ts能够自动分析出来变量的类型,那么就不加类型注解
如果ts不能自动分析出来变量的类型,那么就加类型注解