如何在Typescript中实例化File对象?

时间:2019-03-04 22:01:04

标签: typescript file initialization

我看到我的IDE将File识别为Typescript对象。进行refined search in Google会使我进入this page,与File对象无关。 File不在basic typesadvanced types中。

Typescript中的File个对象是否已处理exactly the same way as in Javascript?有什么重大区别吗?

再次,如何在Typescript中实例化文件类型?

1 个答案:

答案 0 :(得分:1)

File类并未定义为TypeScript语言的一部分,而是DOM规范的一部分。 TypeScript作为stdlib的一部分为DOM对象提供了一个标准的声明文件,您可以自己查看here

/** The File interface provides information about files and allows JavaScript in a web page to access their content. */
interface File extends Blob {
    readonly lastModified: number;
    readonly name: string;
}

declare var File: {
    prototype: File;
    new(fileBits: BlobPart[], fileName: string, options?: FilePropertyBag): File;
};

当然,声明文件本身不是很友好。您可能会发现MDN DOM API documentation更有用(不过请注意,它用于JavaScript,而不是TypeScript,因此不要指望任何显式的类型注释)。它提供了以下示例:

var file = new File(["foo"], "foo.txt", {
  type: "text/plain",
});

尽管从技术上讲这是JavaScript,但它可以像TypeScript一样编译,并且推断出的file类型为File