Перейти к содержанию

Переменные

К примеру, чтобы рассказать 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);
};

Давайте посмотрим на интерфейсы чуть более подробно далее.