Parameters<T>,该工具类型能够获取函数类型T
的参数类型并使用参数类型构造一个元组类型。示例如下:
type T0 = Parameters<() => string>; // []
type T1 = Parameters<(s: string) => void>; // [string]
type T2 = Parameters<<T>(arg: T) => T>; // [unknown]
type T4 = Parameters<
(x: { a: number; b: string }) => void
>; // [{ a: number, b: string }]
type T5 = Parameters<any>; // unknown[]
type T6 = Parameters<never>; // never
type T7 = Parameters<string>;
// ~~~~~~~
// 编译错误!string类型不符合约束'(...args: any) => any'
type T8 = Parameters<Function>;
// ~~~~~~~~
// 编译错误!Function类型不符合约束'(...args: any) => any'
酷客网相关文章:
评论前必须登录!
注册