AzLearn

ما هي TypeScript؟

What is TypeScript?

مفهوم ~14 دقيقة

ما هي TypeScript؟ — What is TypeScript?

TypeScript هي لغة مبنية فوق JavaScript. أي كود JavaScript صحيح غالباً يمكن أن يكون TypeScript، ثم تضيف أنت طبقة types تجعل شكل البيانات أوضح قبل التشغيل. الفكرة ليست أن تصبح اللغة أصعب، بل أن يصبح الخطأ أبكر. بدلاً من أن تكتشف في المتصفح أن user.name غير موجود، يخبرك TypeScript أثناء الكتابة أن الشكل المتوقع لا يحتوي هذه الخاصية.

نشأة TypeScript ودورات الإصدار

بنى مايكروسوفت TypeScript وأصدره مفتوح المصدر عام 2012. المصمم الرئيسي هو أندرس هيلسبرغ — مصمم C# أيضاً. الدافع الأصلي كان قابلية توسع JavaScript في التطبيقات الضخمة: عندما يصبح المشروع بعشرات الآلاف من الأسطر، الكود غير المكتوب بأنواع صعب الفهم وصعب التعديل بأمان.

يصدر TypeScript نسخة minor جديدة كل شهرين تقريباً (مثال: 5.4 في مارس 2024، 5.8 في أوائل 2026). كل نسخة تضيف ميزات، لكن قاعدة الأنواع الأساسية ثابتة. ما ستتعلمه هنا يبقى صالحاً عبر نسخ متعاقبة. نسخة TypeScript 5 هي المعيار الحالي.

في المشاريع الصغيرة، قد تبدو الأنواع زيادة غير ضرورية. لكن عندما يكبر المشروع ويشارك فيه أكثر من شخص، تصبح الأنواع وثيقة حية داخل الكود. الدالة التي تقول formatPrice(amount: number): string أوضح من دالة تقبل أي شيء ثم تفشل لاحقاً. هذا الوضوح يساعد المحرر على الاقتراح، ويساعد الفريق على تعديل الكود بثقة.

TypeScript لا يعمل مباشرة في المتصفح كملف .ts. يتم تحويله إلى JavaScript. لذلك يجب أن تفهم العلاقة: TypeScript للفحص والتصميم، JavaScript للتشغيل. هذا يعني أيضاً أن الأنواع تختفي وقت التشغيل. إذا جاءت بيانات من API، فلا يكفي أن تقول للـ compiler إنها صحيحة؛ تحتاج تحققاً فعلياً عندما تكون البيانات خارجية.

متى لا تستخدم TypeScript؟

TypeScript له ثمن: خطوة build إضافية، إعداد tsconfig، وتعلّم نظام الأنواع. ثلاث حالات حيث JavaScript العادي قد يكون أفضل: سكريبتات صغيرة جداً لا تتجاوز 50 سطراً وتعمل مرة واحدة. نماذج أولية سريعة تحتاج feedback فوري قبل أن تعرف شكل البيانات. بيئات لا تدعم build step مثل بعض إضافات المتصفح البسيطة. خارج هذه الحالات، TypeScript يؤدي ثمنه في معظم مشاريع JavaScript الجادة.

مثال أول

index.ts

لاحظ أن النوع يشرح النية. name نص، وlessons رقم، والدالة ترجع نصاً. لو مررت قيمة خاطئة، TypeScript ينبهك قبل التشغيل.

متى تستخدمها؟

استخدم TypeScript عندما تريد مشروع JavaScript قابل للصيانة: واجهة، API client، أداة Node، أو مكتبة. لا تستخدمها كحاجز شكلي فقط. النوع الجيد يعبر عن قرار حقيقي في التصميم.

تحدي — Challenge