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";
特殊类型
以下四种类型经常让初学者感到困惑:
any 这会关闭类型检查。它会让你的代码表现得像普通的 JavaScript。请将其作为最后的手段。
unknown 这是 any 的安全版本。它表示该值可以是任何类型,但在使用之前你必须先检查其类型。
void 用于不返回值的函数。
never 用于永远不会结束的函数,例如抛出错误或运行无限循环的函数。
工作流总结: • 大多数数据使用基本类型。 • 利用类型推断来保持代码简洁。 • 使用联合类型来实现灵活的输入。 • 避免使用 any。 • 当你不确定时,使用 unknown 代替 any。