使用打字稿,我发现为什么分配给不同局部变量的两个不同函数会导致不同的签名。我认为其中一个更明确。
myNumber = input("Guess the number from 1 to 50: ")
我认为let a: (number)=>number =
function(x: number): number {return 42;};
let z = function(x:number): number { return 42; };
> .type a
let a: (number: any) => number
> .type z
let z: (x: number) => number
只是写a
的更明确的版本,但不知何故,它更加自由地接受z
。
使用Typescript版本2.5.2
答案 0 :(得分:3)
let a: (number)=>number
参数名称是必需的。这完全等同于:
let a: (number: any)=>number
换句话说,第一个number
在这里定义一个名为&#34的参数;数字"
你需要的是,
let a: (x: number)=>number =
function(x: number): number {return 42;};
名称x
并不重要。