javascript - 在 Typescript 中获取参数作为类型?

标签 javascript typescript types

不使用 objectinterface或者完整的函数定义,函数的参数是否可以在 Typescript 中的其他地方用作类型,就像 ReturnType<T> 一样在其他地方使用返回类型作为类型定义?我想像InputType这样的用法或ParamType为此。

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

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]

关于javascript - 在 Typescript 中获取参数作为类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54411846/

相关文章:

javascript - 如何在 Apigee 中使用 JavaScript 替换多个位置的 json 属性值

javascript - 将 Filter() 与警报片段集成

javascript - 如何对调用同一文件/类中其他函数的函数进行单元测试,以便我无法模拟它们?

oop - Math Parser/Lexer - Token接口(interface)设计

variables - 在 Haskell 中,为什么将值绑定(bind)到变量名不再强制系统提交类型?

Javascript - 在循环中选择 "not this"

node.js - config.js 文件的 Typescript 版本

javascript - 在 Angular 2 应用程序中使用 Microsoft BotFramework-WebChat 时遇到问题

c# - 使用泛型在编译时强制执行有效结构

Excel VBA 集合和自定义数据类型