TypeScript 别名

注意: 如果您是 TypeScript 新手,请先查看我们的 TypeScript 入门 教程。


在 TypeScript 中,类型别名是一种为类型创建新名称的方法。

这是一个类型别名的简单示例。您可以阅读本教程的其余部分以了解更多信息。

示例

type Age = number;
const age: Age = 25;  

console.log(age);

在这里,type Age = number;number 类型创建了一个名为 Age 的别名。const myAge: Age = 30; 声明了一个类型为 Age(即数字)的变量 myAge


类型别名语法

您可以使用 type 关键字创建类型别名,后跟别名名称和它所表示的类型。

type AliasName = Type;

例如,

type userName = string; 

这里,

  • userName 是别名名称。
  • stringuserName 所表示的类型。

对象类型的别名

您可以使用类型别名来定义对象的结构。例如,

type Person = {
  name: string;
  age: number;
};

const person: Person = {
  name: "Alice",
  age: 30,
};

在这里,type Person = { name: string; age: number; }; 为一个具有 nameage 属性的对象创建了一个名为 Person 的类型别名。

然后,我们定义了一个类型为 Person 的变量 person。

这在对象类型被多次使用时尤其有用,因为它允许您在代码中复用 Person 类型。


函数类型的别名

您还可以使用类型别名来定义函数。

让我们为函数定义一个名为 Adder 的类型别名,该函数接收两个数字(num1num2)作为输入并返回一个数字。

type Adder = (num1: number, num2: number) => number;

然后,使用该别名定义函数:

const add: Adder = (x, y) => x + y;

在这里,我们创建了一个名为 add() 的函数,并告诉 TypeScript add() 必须匹配 Adder 类型(即它必须接受两个数字并返回一个数字)。

最后,调用函数:

console.log(add(5, 10)); // Output: 15

这是使用函数类型别名来添加两个数字的完整程序:

// Define a type alias for a function that takes two numbers and returns a number
type Adder = (a: number, b: number) => number;

// Use the alias to type a function
const add: Adder = (x, y) => x + y;

console.log(add(5, 10)); // Output: 15

常见问题

联合类型和交叉类型的别名

TypeScript 中的类型别名不仅用于简单类型或对象,您还可以使用它们来表示联合类型和交叉类型。

让我们看一个使用联合类型的类型别名示例:

type ID = string | number;
let userId: ID;
userId = 101;      // valid
userId = "abc123"; // valid

在这里,ID 是联合类型 string | number 的类型别名。变量 userId 现在可以存储字符串或数字。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战