Avatar ·

إعلان وتهيئة القاموس (Dictionary) في TypeScript

مرحبًا زملائي! أنا جديد في TypeScript (كنت أكتب سابقًا بلغة JS الخالصة) وواجهت مشكلة عند إعلان القاموس (Dictionary، المعروف أيضًا بالمصفوفة الترابطية). في JavaScript كنت أفعل هكذا: ```typescript let dict = {}; dict["key1"] = "value1"; dict["key2"] = 123; ``` وكان كل شيء يعمل. لكن في TypeScript أحتاج إلى كتابة القاموس بشكل صارم، حيث المفاتيح تكون نصوصًا والقيم أرقامًا. جربت عدة خيارات، لكن في كل مرة أحصل على أخطاء في الترجمة أو سلوك غريب. الخيار 1: ```typescript let dict = {}; dict["apple"] = 5; // Error: Element implicitly has an 'any' type ``` الخيار 2: ```typescript let dict: object = {}; dict["apple"] = 5; // Error: Property 'apple' does not exist on type 'object' ``` الخيار 3: ```typescript let dict: { [key: string]: number } = {}; dict["apple"] = "text"; // أريد أن يكون هذا خطأ، لكن... // في الواقع سيكون هناك خطأ هنا، لكن ليس دائمًا واضحًا كيف نفعل ذلك بشكل صحيح. ``` أريد: 1. إعلان قاموس فارغ بمفاتيح نصوص