类型注解和类型推断

2022-04-10  本文已影响0人  泡杯感冒灵
类型注解 type annotation, 就是我们来告诉TS变量是什么类型
let count: number;
count = 123;
type inference 类型推断, 就是TS会自动的去尝试分析变量的类型
image.png
如果TS能够自动分析变量类型,我们就什么也不需要做了;如果TS无法分析变量类型的话,我们就需要使用类型注解;
function getTotal(firstNumber, secondNumber) {
  return firstNumber + secondNumber;
}

// 我们在调用getTotal的时候,有可能传数字,也有可能传字符串等其他类型的参数,所以firstNumber,secondNumber类型无法推断
const total = getTotal(1, 2);

function getTotal(firstNumber:number, secondNumber:number) {;
  return firstNumber + secondNumber;
};

// 当确定了firstNumber,secondNumber都是number类型以后,TS就可以推断total的类型了,就不需要再给他添加类型注解了
TS实际上,就是让代码里所有的变量或属性上都有一个具体的类型。

其他case

// 此时newData 也是需要我们写类型注解,
// 因为 JSON.parse返回的内容,并不能帮助TS推断出newData 的类型。
const rawData = '{"name":"yang"}';
const newData = JSON.parse(rawData);

//此时不得不给newData 通过类型注解的方式声明一些类型
interface Person {
  name:string
}

const rawData = '{"name":"yang"}';
const newData:Person = JSON.parse(rawData);

如果一个变量,有可能是number,也有可能是string怎么办呢?
let temp: number | string = 123;
temp = '456';
上一篇 下一篇

猜你喜欢

热点阅读