Avatar ·

كيفية إنشاء مصفوفة فارغة بنوع محدد في TypeScript؟

مرحباً بالجميع! لقد بدأت للتو في تعلم TypeScript بعد JavaScript وواجهت مشكلة عند إنشاء مصفوفات فارغة. في JavaScript، كنت أفعل غالباً: ```javascript let items = []; ``` ثم أضيف العناصر باستخدام push. لكن في TypeScript، أحصل على خطأ عندما أحاول فعل نفس الشيء: ```typescript let items = []; items.push('hello'); // Error: Argument of type 'string' is not assignable to parameter of type 'never' ``` أفهم أن TypeScript يستنتج النوع `never[]` لأن المصفوفة فارغة، والمترجم لا يعرف العناصر التي ستكون فيها. لكن كيف أعلن بشكل صحيح عن مصفوفة فارغة ستحتوي لاحقاً، مثلاً، على نصوص أو كائنات من نوع محدد؟ جربت عدة خيارات: ```typescript let items: string[] = []; // يعمل، لكن للنصوص let items: Array = []; // يعمل أيضاً ``` لكن ماذا لو كان لدي نوع معقد؟ مثلاً، مصفوفة من الكائنات مع interface User؟ أو مصفوفة ستحتوي على أنواع مختلفة (union)؟ كيف