Build a function object with properties in TypeScript

后端 未结 9 1311
南旧
南旧 2020-11-28 06:00

I want to create a function object, which also has some properties held on it. For example in JavaScript I would do:

var f = function() { }
f.someValue = 3;
         


        
9条回答
  •  时光说笑
    2020-11-28 06:29

    Update: This answer was the best solution in earlier versions of TypeScript, but there are better options available in newer versions (see other answers).

    The accepted answer works and might be required in some situations, but have the downside of providing no type safety for building up the object. This technique will at least throw a type error if you attempt to add an undefined property.

    interface F { (): any; someValue: number; }
    
    var f = function () { }
    f.someValue = 3
    
    // type error
    f.notDeclard = 3
    

提交回复
热议问题