Класс File
не определен как часть собственно языка TypeScript, а скорее является частью спецификации DOM.TypeScript предоставляет стандартный файл декларации для объектов DOM как часть stdlib, который вы можете просмотреть сами здесь :
/** 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 более полезной (хотя обратите внимание, что это для JavaScript, а не для TypeScript, поэтому не ожидайте каких-либо явных аннотаций типов).Он предоставляет следующий пример:
var file = new File(["foo"], "foo.txt", {
type: "text/plain",
});
И хотя это технически JavaScript, он будет прекрасно компилироваться как TypeScript, и предполагаемый тип file
будет File
.