Как создать экземпляр объекта File в Typescript? - PullRequest
0 голосов
/ 05 марта 2019

Я вижу, что моя IDE распознает File как объект Typescript.Выполнение уточненного поиска в Google приводит меня к этой странице , которая не имеет ничего о File объектах.File не относится ни к базовым типам , ни к расширенным типам .

Являются ли File объекты в Typescript обработанными точно так же, как в Javascript ?Есть ли принципиальные различия?

Опять же, как создать экземпляр типа файла в Typescript?

1 Ответ

0 голосов
/ 05 марта 2019

Класс 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...