Avatar ·

Как получить имя класса объекта во время выполнения в TypeScript?

مرحباً! أكتب تطبيقاً بلغة TypeScript يتعامل مع تسلسل كيانات مختلفة. لدي تسلسل هرمي للفئات، وأحتاج أثناء تنفيذ البرنامج إلى تحديد أي فئة بالضبط يمثلها الكائن لمعالجته بشكل صحيح. على سبيل المثال، لدي فئة أساسية `Shape` واثنان من الورثة: `Circle` و `Rectangle`. أريد كتابة دالة تأخذ مصفوفة من الأشكال وتطبع نوع كل منها. في JavaScript كنت سأستخدم `obj.constructor.name`، لكن في TypeScript قد تكون هذه الخاصية غائبة أو غير محددة بعد التصغير/البناء. بالإضافة إلى ذلك، TypeScript مقيد بشدة بالأنواع، والوصول إلى `constructor` بهذه الطريقة لا يعطي دائماً النتيجة المتوقعة. إليك كود مبسط لا يعمل كما أتوقع: ```typescript class Shape { constructor(public name: string) {} } class Circle extends Shape { constructor(public radius: number) { super('Circle'); } } class Rectangle extends Shape { construct