برمجة

TypeScript

ما هو TypeScript؟

TypeScript لغة برمجة تضيف الأنواع إلى JavaScript. طورتها Microsoft. يُحوَّل كود TypeScript إلى JavaScript عادية، ثم يشغّل المتصفح وNode.js تلك الـ JavaScript. أي أن TypeScript ليست لغة ثانية يفهمها المتصفح وحدها.

الفرق الأساسي هو الأنواع. تكتب في الكود هل القيمة نص أو رقم أو كائن. والقيمة غير المناسبة تظهر غالبًا قبل تشغيل البرنامج.

TypeScript طبقة فوق JavaScript. يمكن أن يبقى كود JavaScript الصحيح داخل ملف TypeScript. أما الأنواع فتضيف فحصًا ومساعدة أفضل من المحرر.

فيمَ يُستخدم TypeScript؟

يُستخدم TypeScript خصوصًا حيث تُستخدم JavaScript:

  • تطبيقات الويب الكبيرة
  • مشاريع React وAngular وVue
  • جهة الخادم وواجهات API مع Node.js
  • المكتبات التي يستخدمها الآخرون
  • الكود الذي يكتبه أكثر من شخص

قد تكفي JavaScript العادية لصفحة صغيرة. وكلما كبر المشروع ساعد كتابة الأنواع على إظهار عدم التطابق مبكرًا.

ماذا يمكن أن تفعل باستخدام TypeScript؟

يمكن باستخدام TypeScript القيام بمعظم ما تُستخدم له JavaScript:

  • تطبيق ويب تفاعلي
  • خادم وواجهة API
  • مكتبة أنواعها مكتوبة
  • التحقق من النماذج والبيانات
  • مشروع واجهة أمامية كبير

مثال بسيط

function greet(name: string): string {
    return "مرحبًا، " + name;
}

console.log(greet("Nibras Code"));

تقبل هذه الدالة نصًا فقط وتكتب ترحيبًا في وحدة التحكم.

هل تعلم TypeScript صعب؟

من يعرف قليلًا من JavaScript ينتقل إلى TypeScript براحة أكبر. قد تبدو الأنواع في البداية كتابة إضافية. الهدف ليس إثقال الكود، بل إظهار القيمة غير المناسبة مبكرًا.

هذا الترتيب مفيد في البداية:

  1. أساسيات المتغيرات والدوال والكائنات في JavaScript
  2. أنواع string وnumber وboolean
  3. النوع الذي تقبله الدالة والذي تُرجعه
  4. الكائن وinterface
  5. الاتحاد الذي يسمّي أكثر من نوع ممكن
  6. نوع بسيط للمصفوفة
  7. خطوة البناء التي تحوّل TypeScript إلى JavaScript

إضافة الأنواع إلى ملفات صغيرة أنفع من محاولة حفظ اللغة كلها دفعة واحدة.

مميزات وعيوب TypeScript

المزايا

  • تظهر كثير من الأخطاء قبل تشغيل البرنامج
  • يقترح المحرر الأسماء والحقول والدوال بدقة أكبر
  • يسهل تتبع الكود في المشروع الكبير
  • يمكن استخدامه مع كود JavaScript الموجود
  • مفتوح المصدر ولا رسوم منفصلة على اللغة نفسها

العيوب

  • لا يعمل الكود في المتصفح مباشرة، بل بعد تحويله إلى JavaScript
  • قد تبدو كتابة الأنواع زائدة في برنامج نصي صغير جدًا
  • لا تلتقط الأنواع كل خطأ منطقي
  • يصعب على المبتدئ قراءة بعض تعريفات الأنواع

بناء جمل TypeScript والمفاهيم الأساسية

يشبه بناء TypeScript بناء JavaScript. الفرق أن النوع يُكتب بجانب المتغير أو الدالة.

متغير بنوع

let name: string = "Ali";
let age: number = 20;

دالة

function add(a: number, b: number): number {
    return a + b;
}

شكل الكائن

type User = {
    name: string;
    age: number;
};

const user: User = { name: "Ali", age: 20 };

أمثلة على أكواد TypeScript

رسالة ترحيب

const name: string = "Nibras Code";
console.log("مرحبًا، " + name);

جمع عددين

function add(a: number, b: number): number {
    return a + b;
}

console.log(add(10, 20));

شرط

const age: number = 20;

if (age >= 18) {
    console.log("بالغ");
}

الأسئلة الشائعة حول TypeScript

ما هو TypeScript؟

TypeScript يضيف الأنواع إلى JavaScript ثم يُحوَّل إلى JavaScript.

هل TypeScript وJavaScript شيء واحد؟

لا. يضيف TypeScript طبقة أنواع فوق JavaScript. والمتصفح يشغّل الـ JavaScript الناتجة.

هل TypeScript مجاني؟

نعم. TypeScript مفتوح المصدر ولا رسوم منفصلة على اللغة نفسها.

هل يلزم تعلم JavaScript أولًا؟

ليس شرطًا، لكنه يساعد. TypeScript لا يحل محل JavaScript، بل يُبنى فوقه.

هل يعمل TypeScript مباشرة في المتصفح؟

عادة لا. يُحوَّل أولًا إلى JavaScript، ثم يعمل ذلك الملف في المتصفح أو في Node.js.

هل يلتقط TypeScript كل الأخطاء؟

لا. يُظهر عدم تطابق النوع جيدًا. أما الشرط الخاطئ فقد يبقى في البرنامج.

هل يمكن استخدام TypeScript مع React؟

نعم. يُستخدم TypeScript على نطاق واسع في مشاريع React.