在打字稿定义文件中声明对象 属性

Declare object property in typescript definition file

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

example.js

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

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

example.d.ts

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

但我不知道如何定义函数 errors 属性 以便它应该 return 一个字符串数组?

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

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

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

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

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