将params作为Typescript中的类型?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将params作为Typescript中的类型?相关的知识,希望对你有一定的参考价值。

如果不使用带有object或完整函数定义的interface,函数的参数是否可以用作Typescript中的其他类型,就像ReturnType<T>如何在其他地方使用返回类型作为类型定义一样?我想象一下InputTypeParamType等用法。

出于上下文目的,请采用以下示例:

const x = (y: string, z: string) => ({[y+z]: 3})

要使用该函数的结果({string: number})作为一种类型我们可以做ReturnType<typeof x>,但输入参数可以用作对象类型({y: string, z: string}),还是JS的Array-like结构([string, string])的限制与这个概念冲突?用例将是一个传递参数的容器。

答案

TypeScript 3.1引入了名为Parameters的类型。

type MyParams = Parameters<typeof x> // [string, string]

以上是关于将params作为Typescript中的类型?的主要内容,如果未能解决你的问题,请参考以下文章

设置作为参数传递的 TypeScript 对象的默认值

需要基于 TypeScript 中的另一个参数的给定类型的参数

TypeScript 中是不是可以将强类型函数作为参数?

TypeScript 中是不是可以将强类型函数作为参数?

typescript中的类型别名和字面量类型

TypeScript 参数类型推断失败