1
复制标识当试图编译:打字稿:在功能型
function foo(f: (number, number)=>boolean) {}
我得到的错误:
Duplicate identifier 'number'.
为什么?我打算陈述的是f
是一个函数,它带有两个参数,每个参数类型为number
,并返回boolean
。我如何说明这一点?
仅供参考,下面就编译:
function foo2(f: (number) => boolean) { }
function foo3(f: (a: number, b: number) => boolean) { }
function foo4(f: (number, string) => boolean) { }
但下面不(它产生完全相同的错误,Duplicate identifier 'number'
):
function foo5(f: (number, number[]) => boolean) { }
马恩,我必须命名的论点?有没有办法解决这个问题?显然,变量名称不是逻辑*必需的。 (即,它们在编译时被完全擦除)。 – jameshfisher
没有办法绕过它。在光明的一面,它向任何使用你的代码的人提供了一个很好的暗示。 –