Avatar ·

كيفية تحديد النوع الصحيح للتاريخ (Date) في TypeScript؟ مشاكل مع أنواع التواريخ

مرحباً بالجميع! لقد بدأت للتو في تعلم TypeScript وواجهت مشكلة عند العمل مع التواريخ. لدي دالة تأخذ تاريخاً وتعيد سلسلة منسقة منه: ```typescript function formatDate(date: ???) { return date.toLocaleDateString('ru-RU'); } ``` لا أستطيع فهم أي نوع يجب استخدامه بدلاً من `???`. جربت `string`، لكن TypeScript يشتكي من أن السلسلة النصية لا تحتوي على method `toLocaleDateString`. جربت `any` — يعمل، لكنها ممارسة سيئة كما فهمت. ورأيت أيضاً في كود الزملاء أنهم يستخدمون `Date`، ولكن عند محاولة تمرير سلسلة مثل `"2024-01-15"` يحدث خطأ. المشكلة الثانية: أحصل على تاريخ من input في HTML (عبر `document.querySelector('input[type="date"]').value`)، ويأتي كسلسلة نصية. كيف يمكنني تحويله بشكل صحيح إلى نوع Date والتأكد من أن TypeScript لا يعطي أخطاء؟ وأيضاً: لاحظت أنه إذا قمت بإنشاء تاريخ جديد عبر `new Date()`، فإن TypeScript يستنتج تلقائياً النوع `Date`. لكن إذا كتبت دالة تستقبل تاريخاً،