搜索
写经验 领红包
 > 运动

typedef模板类(模板字符串怎么使用)

导语:模板文字类型如何在 TypeScript 中工作

typedef 模板类(模板字符串怎么使用)

让我们看看模板文字类型是如何工作的

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 对象属性。

本文内容由快快网络小冰创作整理编辑!