К примеру, чтобы рассказать TypeScript о process
variable, вы можете сделать:
declare var process: any;
Но вам не нужно делать это для
process
, поскольку уже существует поддерживающийся сообществомnode.d.ts
.
Это позволяет вам использовать переменную process
без руганий от TypeScript'а:
process.exit();
Мы рекомендуем использовать интерфейс везде, где это возможно, например:
interface Process {
exit(code?: number): void;
}
declare var process: Process;
Это позволяет другим разработчикам расширять сущность этих глобальных переменных, в то же время сообщая TypeScript о таких модификациях. Например. рассмотрим следующий случай, когда мы добавляем функцию exitWithLogging
к процессу чтобы поиграться:
interface Process {
exitWithLogging(code?: number): void;
}
process.exitWithLogging = function() {
console.log("выход");
process.exit.apply(process, arguments);
};
Давайте посмотрим на интерфейсы чуть более подробно далее.