TypeScript 类型详解

TypeScript 依赖于类型系统。掌握它编写更好代码的第一步。

基础类型

TypeScript 使用与 JavaScript 基本类型相似的类型: • string: 用于文本。 • number: 用于所有数字(整数和浮点数)。 • boolean: 用于 true 或 false 值。

类型推断

你并不总是需要显式编写类型。TypeScript 通常会根据你提供的值来推断类型。这被称为“推断”。

一个好的原则: • 让 TypeScript 为局部变量进行类型推断。 • 为函数参数和返回值类型编写显式类型。

数组与元组

数组存储相同类型的多个值。 • 示例:let tags: string[] = ["ts", "js"];

元组是具有固定长度且每个位置都有特定类型的数组。 • 示例:let user: [string, number] = ["Ramesh", 31];

联合类型

当一个值可以是多种类型之一时,请使用联合类型。 • 示例:let id: string | number = "abc123";

特殊类型

以下四种类型经常让初学者感到困惑:

  1. any 这会关闭类型检查。它会让你的代码表现得像普通的 JavaScript。请将其作为最后的手段。

  2. unknown 这是 any 的安全版本。它表示该值可以是任何类型,但在使用之前你必须先检查其类型。

  3. void 用于不返回值的函数。

  4. never 用于永远不会结束的函数,例如抛出错误或运行无限循环的函数。

工作流总结: • 大多数数据使用基本类型。 • 利用类型推断来保持代码简洁。 • 使用联合类型来实现灵活的输入。 • 避免使用 any。 • 当你不确定时,使用 unknown 代替 any。

来源:https://dev.to/ramesh_s_a8f0867d239e927c/typescript-types-demystified-simple-types-special-types-and-type-inference-5bf0