TypeScript

من موسوعة حسوب

لغة TypeScript لغة برمجة مفتوحة المصدر من تطوير شركة Microsoft، تُعدّ امتدادًا وتوسعةً للغة JavaScript، حيث أضافت العديد من المزايا إليها، خاصّة دعم الأنواع (types) الذي يُساعد على تجنّب الأخطاء والعلل البرمجيّة وتوفير شيفرة برمجية نقية قابلة للقراءة أكثر من شيفرة JavaScript العادية.

لغة TypeScript

مدخل إلى TypeScript

تعرف على أساسيات اللغة وكيفية استخدامها في تطبيق JavaScript الخاص بك.

الأنواع الأساسية

أنواع البيانات الأساسية في لغة TypeScript.

التصريح عن المتغيّرات (Variable Declarations)

يشرح هذا القسم كيفية التصريح عن جميع أنواع المتغيرات والثوابت باستعمال var و let و const. يتطرق أيضًا إلى شرح كيفية تفكيك ونشر المصفوفات والكائنات عند التصريح عن المغيرات.

الواجهات (interfaces)

الأصناف (classes)

الدوال (functions)

تلعب الدوال الدور الرئيسيّ في وصف كيفيّة القيام بالأمور. يشرح هذا القسم الدوال في TypeScript وأنواعها وكيفية تعريفها والمعاملات المُمرَّرة إليها. يعرِّج أيضًا على شرح الكلمة this المفتاحية والدوال السهمية.

الأنواع المُعمَّمة (generics)

الثوابت المتعددة

تسمح الثوابت المتعدّدة بتعريف مجموعة مُسمّاةٍ من الثوابت، إذ يُسهّل استخدام الثوابت المتعدّدة توضيحَ نية استعمال الشيفرة أو إنشاء مجموعة حالات مختلفة. تُوفّر TypeScript كلا من الثوابت المتعددة المعتمِدة على الأعداد وتلك المُعتمِدة على السلاسل النصية كذلك.

استنتاج الأنواع

سنُغطّي هذا القسم آلية استنتاج الأنواع في TypeScript، خاصّةً أين وكيف تُستنتَج الأنواع.

توافقية الأنواع

توافقيّة الأنواع في TypeScript مبنيّةٌ على التحقق من الأنواع الفرعيّة هيكليًّا (structural subtyping). والتحقّق من الأنواع هيكليًّا طريقةٌ للربط بين الأنواع حسب عناصرها فقط لا غير. وهذا مُعاكسٌ للتحقق من الأنواع اسميًّا (nominal typing).

أنواع متقدمة

تدعم TypeScript أنواعًا متقدمةً من البيانات يمكن استعمالها في شيفرتك. من هذه الأنواع: أنواع التقاطع والاتحاد والتمييز والقيم الفارغة ...إلخ. توفر أيضًا حرّاس الأنواع التي تستعمل لأداء عدة وظائف منها التخلص من أنواع محددة مثل النوع null. توفِّر أيضًا ميّزة الأنواع الشرطيّة التي تسمح لنا بالتعبير عن اقترانات أنواع غير موحّدة.

الرموز

المكررات (iterators) والمولدات (generators)

الوحدات (modules)

مجالات الأسماء (namespaces)

مجالات الأسماء والوحدات

تقرير الوحدات (Module Resolution)

دمج التصريحات (Declaration Merging)

JSX

المزخرفات (decorators)

المخاليط (mixins)

تعليمات الشرطات المائلة الثلاث (Triple_Slash Directives)

التحقق من الأنواع في ملفات JavaScript

ملفات التعريفات

مدخل إلى ملفات التصريحات (Declaration Files)

هياكل المكتبات

ملفات التصريحات اعتمادًا على الأمثلة

افعل ولا تفعل

التعمق في ملفات التصريحات

قوالب ملفات التصريحات

نشر ملفات التصريحات

استخدام ملفات التصريحات

إعدادات المشروع

tsconfig.json

خيارات المترجم

ضبط خيارات المترجم في مشاريع MSBuild

استعمال أدوات البناء مع TypeScript

البناءات الليليّة

مصادر