TypeScript的类型注解和类型推断

梦里梦外; 2023-07-20 12:19 19阅读 0赞

TypeScript希望开发者写出的代码中每个变量的类型都是确定的,而想要做到这一点就需要类型注解类型推断

类型注解(Type annotation)

所谓类型注解,就是人为为一个变量指定类型,例如:

  1. const count: number = 123;
  2. const word: word = '123';

// TypeScript中一个变量的类型并不一定是固定的,例如

  1. let temp: string | number = '234';
  2. temp = 123; // 这样也不会报错

冒号后面就是类型注解。可是在这种情况下实际上是不必要人为指定的:
在这里插入图片描述
从上图可以看出,即便是不添加类型注解,TypesScript也能知道变量word是一个字符串。而这个就是TypeScript的类型推断。

类型推断(Type inference)

所谓类型推断就是TypeScript可以通过变量值倒推变量类型。因此在绝大部分情况下,我们是不需要去写类型注解的。
但是也有某些情况类型推断是无法推断变量类型的,例如函数的参数。

  1. function getSum(a, b) {
  2. return a + b;
  3. }
  4. const num = getSum(1, 2);

上面代码中的参数a,b就没有办法判断它的类型,
在这里插入图片描述
从而也导致了num变量的类型不能判断
在这里插入图片描述
那么这个时候就需要类型注解来为参数指定类型:

  1. function getSum(a: number, b: number) {
  2. return a + b;
  3. }
  4. const num = getSum(1, 2);

这样变量num就可以推断出类型了
在这里插入图片描述
还有一点需要注意的是,如果变量的声明和赋值不在同一行,那么类型推断也不能推断出变量的类型。

发表评论

表情:
评论列表 (有 0 条评论,19人围观)

还没有评论,来说两句吧...

相关阅读