手册
目录
创建变量时,TypeScript 分配类型的主要方式有两种:
在下面两个例子中,firstName 都是 string 类型。
显式 - 写出类型:
let firstName: string = "Dylan";
显式类型分配更易于阅读,更具意图性。
隐式 - TypeScript 将根据分配的值“猜测”类型:
let firstName = "Dylan";
注意:让 TypeScript “猜测”一个值的类型称为 infer(推断)。
隐式赋值强制 TypeScript 推断该值。
隐式类型分配更短,输入更快,通常在开发和测试时使用。
如果数据类型不匹配,TypeScript 将抛出错误。
let firstName: string = "Dylan"; // string 类型 firstName = 33; // 尝试将值重新分配为不同类型
隐式类型分配会使 firstName 作为 string 不那么明显,但两者都会抛出一个错误:
let firstName = "Dylan"; // 推断为 string 类型 firstName = 33; // 尝试将值重新分配为不同类型
对于不匹配的类型,JavaScript 不会抛出错误。
TypeScript 可能并不总是能正确推断出变量的类型。在这种情况下,它会将类型设置为 any,这会禁用类型检查。
// 隐式的 any,因为 JSON.parse 不知道它返回的数据类型,所以它可以是“任何”东西...
const json = JSON.parse("55");
// 大多数人期望 json 是对象,但在此例中,它也可以是字符串或数字
console.log(typeof json);
可以通过在 TypeScript 的项目 tsconfig.json 中启用 noImplicitAny 选项来禁用此行为。这是一个用于自定义 TypeScript 的某些行为的 JSON 配置文件。
注意:您可能会看到像 Boolean 这样的基本类型大写。
boolean !== Boolean在本教程中,只需知道使用小写值,大写值仅用于非常特定的情况。
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77万人学习
共29课时
61.7万人学习
共25课时
39.3万人学习
共43课时
70.9万人学习
共25课时
61.6万人学习
共22课时
23万人学习
共28课时
33.9万人学习
共89课时
125万人学习