将赋值属性声明为返回函数

时间:2017-04-19 02:10:52

标签: node.js typescript2.2

我正在做一些非常疯狂的事情,但它已经工作了一段时间:

function foo(cb){

   return function bar(){

       if(bar.x){
         cb();
       }

   }


}

不要问为什么:),但它一直在为我工作。现在我将此JavaScript代码转换为TypeScript。有没有办法声明返回函数的类型,所以我可以声明函数有一个名为“x”的属性?

1 个答案:

答案 0 :(得分:0)

Duh,我总是忘记你是这样做的!

interface IMyReturnedFn {
  (): void,
  x: string,
}


function foo(cb) : IMyReturnedFn {

   return function bar(){

       if(bar.x){
         cb();
       }

   }

}

现在返回的函数有一个类型!瞧