代码之家  ›  专栏  ›  技术社区  ›  Josh M.

如何使具有函数属性的匿名对象与另一个函数的签名匹配?

  •  1
  • Josh M.  · 技术社区  · 8 年前

    考虑一下:

    function doIt(thing: SomeThing, iterations: number): void {
      // ...
    }
    
    class ThingProcessor{
      private state: {
        // how to avoid specifying the arguments again?
        action: (thing: SomeThing, iterations: number) => void
      };
    }
    

    在这个例子中,我必须指定 doIt 函数参数两次。我宁愿表明 state.action typeof(doIt) ,例如,使用与 多伊特 功能。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Titian Cernicova-Dragomir    8 年前

    你可以使用 typeof 函数上的运算符以获取其类型

    function doIt(thing: SomeThing, iterations: number): void {
        // ...
    }
    
    class ThingProcessor {
        private state: {
            // how to avoid specifying the arguments again?
            action: typeof doIt;
        };
    }
    
    推荐文章