首页 文章

函数定义语法在Typescript中混淆

提问于
浏览
-1

所有:

[UPDATE] 我明白了:SO中的一篇文章解释了这一点:In TypeScript how do I declare an array of functions that accept a string and return a string?
事实证明:

表单的函数类型文字(ParamList)=> ReturnType与对象类型文字{(ParamList)完全等效:ReturnType}

So ,冒号 : 带支架 {} <=> Arrow =>


我对Typescript很新,有一个例子让我对它的语法感到困惑:

var sayHello: (input: string) : string = function (s: string) {
    return "Hello " + s;
}
var stringUtils: { (input: string): string; }[];
stringUtils.push(sayHello);

任何人都可以帮忙解释一下这段代码的作用吗?特别是第一部分定义的作用是什么?

var sayHello: (input: string) : string = function (s: string) {
    return "Hello " + s;
}

示例说sayHello是一个函数变量,但是当我运行它时,我得到“=>”预期错误,这是否意味着这种语法属于旧打字稿但现在不存在?

谢谢

1 回答

  • 1

    任何人都可以帮忙解释一下这段代码的作用吗?特别是第一部分定义的var sayHello :(输入:字符串):string = function(s:string){

    应该:

    var sayHello: (input: string) => string = function (s: string) {
    

    我们说 sayHello 是一个接受字符串并返回字符串 : (input: string) => string 的函数 . 然后我们将它分配给这样一个函数 = function (s: string) {

相关问题