我有一个函数,可以将任意数量的分组值用作参数。我认为最好的方法是传递数组(但可以接受其他选择)。每个数组可以具有1-4个必须匹配特定类型的值。我对此进行编码的尝试看起来像这样:
const transition = (...properties: [string, number?, string?, number?][]): string => {
// Do something
};
用法看起来像这样:
transition(['color', 2]);
transition(['color', 2], ['background']);
transition(['color', 2], ['background', 2, 'ease']);
transition(['color', 2], ['background'], ['opacity', 3, 'ease']);
我的编译器在类型中引发与?
用法有关的错误:
SyntaxError: Unexpected token, expected ","
如果我删除了?
,我不会得到编译错误,但是它希望数组中的所有值都可以通过。
对此有简单的解决方法吗?
答案 0 :(得分:-1)
// Declare a type for arguments
export interface ITransitionProperties {
color: string,
value?: number,
type?: string,
value2?: number
}
// and use it in defining the type of argument
const transition = (ArgumentName: ITransitionProperties[]): string => {
// Do something
};