TypeScript - 如何覆盖lib.d.ts中的声明?

时间:2015-04-10 14:49:50

标签: javascript typescript

问题如下:

我需要使用带有2个参数File的构造函数来实例化(byteArray, fileName),我需要为此创建一个TypeScript类型。

lib.d.ts File的定义如下(第11479行):

declare var File: {
    prototype: File;
    new(): File;
}

如果我错了,请纠正我,但是:

  • 我无法在接口内定义构造函数(我可以扩展)
  • 我无法扩展声明(我可以在其上创建我想要的构造函数)

由于修改 lib.d.ts 不是一个好主意,你们建议我能够在没有TS错误的情况下实例化文件。

提前致谢

1 个答案:

答案 0 :(得分:0)

  
      
  • 我无法在接口内定义构造函数(我可以扩展)
  •   

这是正确的,接口只是扩展它的类所需的某些功能部分的蓝图。你要求的是abstract类,但在TypeScript (yet)中不存在。

  
      
  • 我无法扩展声明(我可以在其上创建我想要的构造函数)
  •   

接口的重点将被扩展。当然,您可以创建自己的类/接口,以便在现有File之上定义您的预期使用情况。