剩余元素必须位于元组类型的最后
A rest element must be last in a tuple type
为cb
写类型时:
const fn1 = (
cb: (...args: [...args: any[], fn2: () => string, fn3: () => string]) => any,
...args: any[]
) => {
const fn2 = () => 'fn2'
const fn3 = () => 'fn3'
cb(...args, fn2, fn3)
}
运行tsc
,抛出错误:
A rest element must be last in a tuple type.
原来我一直在用全局的tsc
,也就是v3.2.9
,难怪我的行为跟别人不一样。当我切换到本地tsc
即v4.2.3
时,代码编译成功
为cb
写类型时:
const fn1 = (
cb: (...args: [...args: any[], fn2: () => string, fn3: () => string]) => any,
...args: any[]
) => {
const fn2 = () => 'fn2'
const fn3 = () => 'fn3'
cb(...args, fn2, fn3)
}
运行tsc
,抛出错误:
A rest element must be last in a tuple type.
原来我一直在用全局的tsc
,也就是v3.2.9
,难怪我的行为跟别人不一样。当我切换到本地tsc
即v4.2.3
时,代码编译成功