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

Javascript TypeScript-如何覆盖lib.d.ts中的声明?,javascript,typescript,Javascript,Typescript,问题如下: 我需要使用构造函数实例化一个文件,该构造函数接受两个参数(byteArray,fileName),我需要为此创建一个类型脚本 lib.d.ts中文件的定义如下(第11479行): 声明var文件:{ 原型:文件; new():文件; } 如果我错了,请纠正我,但是: 我不能在接口(我可以扩展)内定义构造函数 我无法扩展声明(我可以在声明上创建所需的构造函数) 既然修改lib.d.ts不是一个好主意,你们有什么建议让我能够在没有ts错误的情况下实例化文件 提前谢谢 我不能在接口

问题如下:

我需要使用构造函数实例化一个
文件
,该构造函数接受两个参数
(byteArray,fileName)
,我需要为此创建一个类型脚本

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

声明var文件:{
原型:文件;
new():文件;
}
如果我错了,请纠正我,但是:

  • 我不能在接口(我可以扩展)内定义构造函数
  • 我无法扩展声明(我可以在声明上创建所需的构造函数)
既然修改lib.d.ts不是一个好主意,你们有什么建议让我能够在没有ts错误的情况下实例化文件

提前谢谢

  • 我不能在接口(我可以扩展)内定义构造函数
这是正确的,接口只是扩展它的类所需的某些功能的蓝图。您需要的是
抽象类,但这在TypeScript中不存在

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

接口的整个要点是要扩展的。当然,您可以创建自己的类/接口,在现有的
文件

文件API规范的基础上定义您的预期用途:-查找构造函数定义更新2:我仍然不知道如何扩展/覆盖声明,但由于文件API不是IE9的一部分,我现在正在使用另一种方法。您无法扩展
文件的类型的原因是由于它是如何声明的(使用类型文字)。考虑<代码>声明var对象:对象构造函数< /代码>。code>ObjectConstructor
是一个接口,您确实可以使用新的构造函数对其进行扩展。是的,但是lib.d.ts中的文件声明既不是接口也不是类,因此无法扩展。