【问题标题】:Declare object property in typescript definition file在 typescript 定义文件中声明对象属性
【发布时间】:2021-10-13 05:17:13
【问题描述】:

我有一个返回布尔值的函数。该函数还有一个属性errors 作为一个数组。它在一个模块中。

example.js

exports["example"] = myFunc;
function myFunc(data) {
  return true;
}
myFunc.errors = ['error']

我可以在打字稿.d.ts 文件中定义函数返回签名;

example.d.ts

export declare function uploadedFile(data: any): boolean;

但我不知道如何定义函数errors 属性使其返回一个字符串数组?

export declare function uploadedFile(data: any): boolean;
export declare property uploadedFile.errors: Array<string>; // ??

【问题讨论】:

标签: javascript typescript module


【解决方案1】:

您可以将其声明为带有call signature 的对象:

export declare var uploadedFile: {
  (data: any): boolean;
  errors: string[];
};

【讨论】:

    【解决方案2】:

    要声明属性errors,您可以将第二个声明更改为命名空间,如下所示:

    export declare function uploadedFile(data: any): boolean;
    export declare namespace uploadedFile {
        errors: Array<String>;
    }
    

    【讨论】:

      猜你喜欢
      • 2021-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-13
      相关资源
      最近更新 更多