Avatar ·

خطأ TypeScript: No index signature with a parameter of type 'string' — كيفية الإصلاح؟

مرحبًا! أنا مبتدئ في TypeScript وواجهت مشكلة لا أستطيع حلها. لدي كائن بسيط بمفاتيح نصية، ولكن عندما أحاول الوصول إليه عبر متغير، يظهر TypeScript خطأ: ``` No index signature with a parameter of type 'string' was found on type '{ "A": string; }' ``` إليك الكود الخاص بي: ```typescript const myObj = { "A": "Hello" }; const key = "A"; console.log(myObj[key]); // خطأ! ``` أفهم أن key من النوع `string`، بينما TypeScript يتوقع حرفًا محددًا `"A"`. لكن ماذا لو جاء المفتاح من مصدر خارجي (مثل API أو إدخال المستخدم)؟ لا يمكنني معرفة جميع المفاتيح الممكنة مسبقًا. لقد جربت استخدام `key as keyof typeof myObj`، لكن هذا يبدو حلاً مؤقتًا. هل هناك طريقة أكثر صحة لحل هذه المشكلة؟ كيف يمكن كتابة الكائنات بشكل صحيح بحيث يمكن الوصول إليها عبر مفاتيح نصية مع الحفاظ على أمان الأنواع؟ شكرًا مقدمًا على المساعدة! <<>>

سبب الخطأ