一、类型注解
变量名后直接声明类型,赋值或修改不符合类型会报错
let str1: string = "123";
str = 123; // 不能将类型“number”分配给类型“string”
let str2: string = 123; // 不能将类型“number”分配给类型“string”
二、类型推断
ts根据赋值自动推断类型,修改值不符合类型会报错
let str = "123"; // str: string
str = 123; // 不能将类型“number”分配给类型“string”
三、类型注解与类型推断的区别
类型注解是在变量声明时定义类型,约束赋值和修改; 类型推断是根据赋值反推定义变量的类型,约束变量值的修改。