Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#03312 parameters #14

Open
pkc918 opened this issue Aug 13, 2023 · 0 comments
Open

#03312 parameters #14

pkc918 opened this issue Aug 13, 2023 · 0 comments

Comments

@pkc918
Copy link
Owner

pkc918 commented Aug 13, 2023

问题

const foo = (arg1: string, arg2: number): void => {}

type FunctionParamsType = MyParameters<typeof foo> // [arg1: string, arg2: number]

这里就是要实现在一个函数类型中提取出它所有的参数类型并返回成一个新类型

答案

type MyParameters<T extends (...args: any[]) => any> = T extends (...args: infer Rest) => any ? Rest : never

讲解

这里和前面awaited有异曲同工之妙,也是通过infer来获取参数类型

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant