TypeScript(三)类型注解和类型推断

616 阅读2分钟

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不能自动分析出来变量的类型,那么就加类型注解