gpt4 book ai didi

compiler-errors - TypeScript : Duplicate identifier in function type

转载 作者:行者123 更新时间:2023-12-02 10:44:40 26 4
gpt4 key购买 nike

尝试编译时:

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) { }

最佳答案

您必须命名函数f接受的参数。这就是foo3起作用的原因。 foo2foo4进行编译是因为编译器将它们作为名称,并且因为没有类型假定any类型。它们可以重写为:

function foo2(f: (number: any) => boolean) { }
function foo4(f: (number: any, string: any) => boolean) { }

当然,这是一些令人困惑的代码。

考虑到这一点, foo不起作用,因为编译器将其表示为:
function foo(f: (number: any, number: any)=>boolean) {}

是的,您有重复的标识符 number

关于compiler-errors - TypeScript : Duplicate identifier in function type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17475662/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com