В TypeScript добавление глобальных переменных к объекту window
может быть полезно, когда вам нужно совместно использовать данные в разных частях вашего приложения. В этой статье мы рассмотрим несколько методов выполнения этой задачи, а также примеры кода.
Метод 1: объявление переменной в глобальной области
Один простой подход — объявить переменную в глобальной области с помощью ключевого слова declare
. Это сообщает компилятору TypeScript, что переменная существует вне текущего файла и доступна через объект window
.
// global.d.ts
declare global {
interface Window {
myGlobalVariable: string;
}
}
// app.ts
window.myGlobalVariable = 'Hello, global!';
Метод 2: присвоение переменной объекту Window
Другой метод – напрямую назначить переменную объекту window
, что TypeScript позволяет по умолчанию.
// app.ts
(window as any).myGlobalVariable = 'Hello, global!';
Метод 3: использование ключевого слова window
.
Вы также можете использовать ключевое слово window
непосредственно для объявления и назначения глобальной переменной.
// app.ts
window['myGlobalVariable'] = 'Hello, global!';
Метод 4. Создание глобального модуля
Если вы предпочитаете более модульный подход, вы можете создать отдельный модуль для инкапсуляции глобальных переменных.
// globals.ts
export const myGlobalVariable = 'Hello, global!';
// app.ts
import { myGlobalVariable } from './globals';
console.log(myGlobalVariable);
Метод 5: использование пространства имен
TypeScript поддерживает пространства имен как способ организации кода. Вы можете создать пространство имен для своих глобальных переменных и получать к ним доступ через объект window
.
// globals.ts
namespace MyGlobals {
export const myGlobalVariable = 'Hello, global!';
}
// app.ts
console.log(window.MyGlobals.myGlobalVariable);
Добавить глобальные переменные к объекту window
в TypeScript можно с помощью различных методов. Выберите метод, который лучше всего соответствует потребностям и удобству обслуживания вашего проекта. Не забывайте разумно использовать глобальные переменные и по возможности рассматривать альтернативные подходы.