> 运动
typedef模板类(模板字符串怎么使用)
导语:模板文字类型如何在 TypeScript 中工作
让我们看看模板文字类型是如何工作的
Template Literals 在 JavaScript 中很常见: 它们让我们可以轻松地在 JavaScript 中组合变量和字符串。TypeScript 还引入了模板文字类型的概念,在这里我们可以对模板文字的输入强制类型。这为我们提供了确保文本采用某种格式的控件。让我们看看它们是如何工作的。
TypeScript 中的模板文字类型
模板文本类型何时可能有用的一个完美示例是创建特定格式的 ID。例如,假设我们有一个 ID,它以‘ ga-’或‘ ua-’开头,后跟一个字符串或数字。我们可以像这样使用类型文字来定义一个新类型:
TypeScript
type startOfId = | ;type ID = `${startOfId}${string | number}`;
这意味着类型 ID 的第一部分需要符合类型 startOfId,而第二个位可以是字符串或数字。由于模板文本意味着字符串类型,因此整个类型 ID 必须是字符串。
现在,我们可以在希望遵循这种模式的变量上使用类型。
例如:
TypeScript
type startOfId = | ;type ID = `${startOfId}${string | number}`;let newId:ID = ;
与泛型类型组合
如果您想获得更好的结果,您可以将模板文本类型与泛型类型组合起来。下面,我们有两种类型,genericType 和 user:
type genericType<Type> = { name: `${string & keyof Type} object property`}type user = { name: string, age: number, description: string}let myObject:genericType<user> = { name: }
因为 genericType 接受另一种类型作为参数,所以我们可以传入 user,所以现在 myObject 中的 name 属性只能是 age 对象属性、 name 对象属性或 description 对象属性。
本文内容由快快网络小冰创作整理编辑!