介绍
创建动态和可重复使用的代码很重要。不要重复自己规则或DRY是写代码在TypeScript中时要遵循的重要原则。
在本教程中,您将重构代码,它使用字母字符串来包含代名词,您将能够使用和理解TypeScript代名词。
前提条件
要成功完成本教程,您将需要以下内容:
- 最新的版本的TypeScript安装在您的机器上. 此 如何设置一个新的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)是一个很好的资源。