在 TypeScript 中,infer
关键字通常用于推断类型变量。它通常在条件类型和泛型中使用。
下面是一个示例,演示了如何在泛型中使用 infer
:
type ReturnType<T> = T extends (...args: any[]) => infer R ? R : never;
function add(a: number, b: number): number {
return a + b;
}
type Result = ReturnType<typeof add>; // Result 类型为 number
在上面的示例中,ReturnType
泛型类型接受一个函数类型,并使用 infer
关键字推断其返回类型。然后我们将 add
函数的类型传递给 ReturnType
泛型类型,从而得到了返回类型为 number
的 Result
类型。
infer
关键字还可以在条件类型中使用,以便根据条件推断出不同的类型。下面是一个示例:
type IsString<T> = T extends string ? true : false;
type Result1 = IsString<string>; // Result1 类型为 true
type Result2 = IsString<number>; // Result2 类型为 false
在上面的示例中,IsString
条件类型接受一个类型参数,并根据这个类型参数是否为 string
推断出不同的类型。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。