Avatar ·

كيفية إضافة خاصية جديدة بشكل صريح إلى الكائن العام `window` في TypeScript؟

مرحبًا بالجميع! أكتب بلغة TypeScript مؤخرًا، واجهت مشكلة. أحتاج إلى حفظ بعض البيانات العامة في `window` لتكون متاحة من وحدات مختلفة. على سبيل المثال، أريد إضافة `myAppConfig` الخاص بي: ```typescript window.myAppConfig = { apiUrl: 'https://api.example.com', debugMode: true }; ``` لكن TypeScript يعطي خطأ: ``` Property 'myAppConfig' does not exist on type 'Window & typeof globalThis'. ``` أفهم أن TypeScript يعرف البنية القياسية لـ `window` ويعترض على الخاصية غير الموجودة. كيف يمكنني تعريف الخاصية الجديدة بشكل صحيح؟ قرأت عن توسيع الواجهات (interfaces) لكنني لم أفهم تمامًا. من فضلك، أخبرني بأبسط وأصح طريقة. شكرًا مقدمًا! <<>>

التوسيع الصحيح لواجهة Window

المشكلة هي أن TypeScript لديه تصنيف صارم للكائن العام window. لإضافة خاصيتك الخاصة، تحتاج إلى توسيع الواجهة الحالية Window باستخدام