如何在 TypeScript 中使用类型别名

介绍

创建动态和可重复使用的代码很重要。不要重复自己规则或DRY是写代码在TypeScript中时要遵循的重要原则。

在本教程中,您将重构代码,它使用字母字符串来包含代名词,您将能够使用和理解TypeScript代名词。

前提条件

要成功完成本教程,您将需要以下内容:

步骤 1 - 使用字母字符串

创建一个名为pet的变量,而不是将其设置为等于一种传统的类型,如 string,将cat分配为类型:

1let pet: 'cat';

由于类型为,所以它只具有的值,任何其他值都会导致错误:

1pet = 'cat'; // Ok
2pet = 'dog'; // Compiler error

在上面的代码片段中,将宠物分配到会导致错误,因为宠物的唯一有效值是

与联盟类型使用时,字符串字母变得更加强大。 联盟类型用于定义可能属于多个类型的值。

1let pet: 'cat' | 'dog';

宠物变量现在可以将作为值,将宠物分配给任何其他字符串值会导致错误:

1pet = 'cat'; // Ok
2pet = 'dog'; // Ok
3pet = 'zebra'; // Compiler error

您可以了解更多有关 本文中的联盟类型的信息。

宠物本身不是类型,它是一种变量,使用宠物作为类型会产生错误。

1let gator: pet; // error: 'pet' refers to a value, but is being used as a type here

由于不是一个有效的类型,所以的类型必须重复一次,这可能会使您的代码不必要地重复。

步骤 2 – 使用类型外名

要实现类型别名,请使用类型关键字创建一个新的类型

1type pet = 'cat' | 'dog';

通过创建一个类型,您可以在代码中的任何地方使用pet,就像它是一个数字,一个字符串或任何原始或参考类型:

1let pet1: pet = 'cat';
2let pet2: pet = 'dog';

任何未被声明为宠物类型的一部分的值都会导致错误:

1let gator: pet = "horse"; // error

上面的示例使用了具有字符串值的类型,但可以使用任何类型的类型

1type num = 1 | 2; // number
2type bool = true | false; // boolean
3type obj = {a: 1} | {b: 2}; // object
4type func = (() => string) | (() => void); // function

现在你已经知道如何使用类型别名类型,你可以让你的代码更通用,更少重复。

结论

在本文中,您使用了TypeScript类型代码代码的代码代码,使用类型可以帮助您创建不需要重复的清洁代码。

作为下一步,您可能希望通过了解通用技术来将您的TypeScript知识提升到下一个层次,这篇关于TypeScript通用技术的文章(https://andsky.com/tech/tutorials/typescript-generics-in-typescript)是一个很好的资源。

Published At
Categories with 技术
Tagged with
comments powered by Disqus