TypeScript 简单类型
TypeScript 支持一些你可能知道的简单类型(原语)。
在 JavaScript 和 TypeScript 中有三个主要的原语。
boolean
- true 或 false 值number
- 整数和浮点值string
- 文本值,例如 "TypeScript Rocks"
类型分配
创建变量时,TypeScript 分配类型的主要方式有两种:
- 显式
- 隐式
在下面的两个实例中,firstName
的类型为 string
显式类型
显式 - 写出类型:
let firstName: string = "Dylan";
亲自试一试 »
显式类型分配更易于阅读且更有针对性。
隐式类型
隐式 - TypeScript 将根据分配的值"猜测"类型:
let firstName = "Dylan";
亲自试一试 »
注意:让 TypeScript "猜测"值的类型称为 infer。
隐式赋值强制 TypeScript 推断值。
隐式类型分配更短、键入速度更快,并且经常在开发和测试时使用。
类型分配错误
如果数据类型不匹配,TypeScript 会抛出错误。
隐式类型分配会使 firstName
作为 string
不那么引人注目 ,但两者都会抛出错误:
JavaScript 将不会为不匹配的类型抛出错误。
无法推断
TypeScript 可能并不总是能正确推断出变量的类型。 在这种情况下,它会将类型设置为 any
禁用类型检查。
实例
// 隐含任何作为 JSON.parse 不知道它返回什么类型的数据,所以它可以是"任何"的东西......
const json = JSON.parse("55");
// 大多数人期望 json 是一个对象,但它可以是一个字符串或一个数字,例如这个例子
console.log(typeof json);
亲自试一试 »
可以通过在 TypeScript 的项目 tsconfig.json
中启用 noImplicitAny
作为选项来禁用此行为。 这是一个 JSON 配置文件,用于自定义某些 TypeScript 的行为方式。
注意:您可能会看到原始类型大写,例如 Boolean
。
boolean !== Boolean
对于本教程,只知道使用小写值,大写值用于非常特殊的情况。< /p>