TypeScript 支持一些您可能知道的简单类型(原语)。
JavaScript 和 TypeScript 中有三种主要原语。
boolean
- 真值或假值number
- 整数和浮点值string
- 文本值,例如 "TypeScript Rocks"在 Javascript 和 TypeScript 的更高版本中还使用了 2 个不太常见的原语。
bigint
- 整数和浮点值,但允许比number
类型。symbol
用于创建全局唯一标识符。创建变量时,TypeScript 分配类型的主要方式有两种:
在下面的两个例子中firstName
属于类型string
显式的- 写出类型:
let firstName: string = "Dylan";
亲自试一试 »
显式的类型分配更容易阅读并且更有目的性。
隐含的- TypeScript 将根据分配的值 "guess" 类型:
let firstName = "Dylan";
亲自试一试 »
笔记:使用 TypeScript "guess" 调用值的类型推断。
隐式赋值迫使 TypeScript推断值。
隐含的类型分配更短,输入速度更快,并且在开发和测试时经常使用。
如果数据类型不匹配,TypeScript 将抛出错误。
let firstName: string = "Dylan"; // type string
firstName = 33; // attempts to re-assign the value to a different type
亲自试一试 »
隐含的类型分配会使得firstName
作为一个不太引人注目的string
,但是两者都会抛出错误:
let firstName = "Dylan"; // inferred to type string
firstName = 33; // attempts to re-assign the value to a different type
亲自试一试 »
JavaScript将要不是对于不匹配的类型抛出错误。
TypeScript 可能并不总是正确推断变量的类型。在这种情况下,它将类型设置为any
这会禁用类型检查。
// Implicit any as JSON.parse doesn't know what type of data it returns so it can be "any" thing...
const json = JSON.parse("55");
// Most expect json to be an object, but it can be a string or a number like this example
console.log(typeof json);
亲自试一试 »
可以通过启用来禁用此行为noImplicitAny
作为 TypeScript 项目中的一个选项tsconfig.json
。这是一个 JSON 配置文件,用于自定义某些 TypeScript 的行为方式。
笔记:您可能会看到大写的原始类型,例如Boolean
。
boolean !== Boolean
对于本教程,只需知道使用小写值,大写值适用于非常特殊的情况。
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!