مرجع
آخر الزيارات

تايب سكريبت

1٬983 كلمة•0 مشاهدة•🗒️ منذ 16 يوماً
باختصار: تايب سكريبت هي لغة برمجة مفتوحة المصدر تم تطويرها وصيانتها بواسطة شركة مايكروسوفت، وهي مجموعة شاملة من نصوص جافا سكريبت الصارمة، ويضيف كتابة ثابتة اختيارية للغة. تجد هنا «الأدوية»، «ترقب» و«ملفات الإعلان» ضمن 27 قسماً.
المحتويات
  1. الأدوية
  2. ترقب
  3. ملفات الإعلان
  4. الطبقات
  5. دعم IDE ومحرر
  6. divide(left: number, right: number): number;
  7. مترجم
  8. يتوفر مكون إضافي لـ نت بينز
  9. toString: string {
  10. private salary: number;
  11. تصميم اللغة
  12. تنزيل ملفات التصريحات
  13. البحث والعثور عن ملفات التصريحات
  14. الوحدات ومساحات الأسماء
  15. CATS Cross Platform تايب اسكربت Editor
  16. التاريخ
  17. مساحات
  18. return left + right;
  19. المعلمات الاختيارية والمعلمات الافتراضية
  20. دعم ECMAScript 2015
  21. التكامل مع أدوات أتمتة البناء
  22. التوافق مع جافا سكريبت
  23. سمات اللغة
  24. الاعتماد على ملف التصريحات
  25. اكتب التعليقات التوضيحية
  26. أنجولار
  27. استخدام ملفات التصريحات في تايب سكريبت
تايب سكريبت

في البداية، تايب سكريبت هي لغة برمجة مفتوحة المصدر تم تطويرها وصيانتها بواسطة شركة مايكروسوفت، وهي مجموعة شاملة من نصوص جافا سكريبت الصارمة، ويضيف كتابة ثابتة اختيارية للغة. وقد عمل أندرس هيلسبرغ ، المهندس الرئيسي لـ سي شارب ومبدع أوبجكت باسكال وتوربو باسكال، على تطوير تايب اسكربت. يمكن استخدام تايب اسكربت لتطوير تطبيقات جافا سكريبت للتنفيذ من جانب العميل أو من جانب الخادم ( نود.جي إس ). وتعرض الأقسام التالية جوانب أخرى من الموضوع.

وفي السياق ذاته، يتم تضمين تايب اسكربت لغة برمجة من الدرجة الأولى في مايكروسوفت فيجوال ستوديو 2013 Update 2 والإصدارات الأحدث، بجانب سي شارب ولغات مايكروسوفت الأخرى. يسمح ملحق رسمي لبرنامج مايكروسوفت فيجوال ستوديو 2012 بدعم تايب اسكربت كذلك.

كذلك، مترجم نسخة مطبوعة على الآلة الكاتبة هو في حد ذاته مكتوبة في نسخة مطبوعة على الآلة الكاتبة و المترجمة إلى جافا سكريبت. مرخص بموجب ترخيص رخصة أباتشي .

وفي السياق ذاته، تم تصميم نسخة مطبوعة على الآلة الكاتبة لتطوير التطبيقات الكبيرة و يجمع إلى جافا سكريبت. بما أن تايب اسكربت عبارة عن مجموعة كبيرة من جافا سكريبت ، فإن برامج جافا سكريبت الموجودة هي كذلك برامج تايب اسكربت صالحة.

وفي السياق ذاته، يدعم تايب اسكربت ملفات التعريف التي يمكن أن تحتوي على معلومات الكتابة الخاصة بمكتبات جافا سكريبت الموجودة، مثلما يمكن أن تصف ملفات رؤوس سي++ بنية ملفات الكائن الموجودة . وهذا يمكّن البرامج الأخرى من استخدام القيم المعرفة في الملفات كما لو كانت مكتوبة بشكل ثابت كيانات تايب اسكربت. هناك ملفات رأس طرف ثالث للمكتبات شعبية مثل مسج ، مونغو دي بي ، و د3 (إطار جافا سكريبت) . تتوفر كذلك رؤوس تايب اسكربت للوحدات الأساسية نود.جي إس ، مما يسمح بتطوير برامج نود.جي إس في تايب اسكربت.

الأدوية

يدعم تايب اسكربت البرمجة العامة .

ترقب

  • يتم إرجاع الميزات التالية من ECMAScript 2015:
  • الطبقات
  • وحدات
  • بناء جملة «السهم» المختصر للدوال المجهولة

ملفات الإعلان

ومن ناحية أخرى، عند تجميع برنامج نصي لـ تايب اسكربت، يوجد خيار لإنشاء ملف تعريف (مع الامتداد .d.ts) يعمل واجهة (حوسبة) إلى هندسة البرمجيات بالمكونات في جافا سكريبت المترجمة. في هذه العملية، يقوم المترجم بإبعاد جميع هيئات الدالة والوظيفية ويحفظ فقط تواقيع الأنواع التي يتم تصديرها. يمكن فيما بعد استخدام ملف التصريح الناتج لوصف أنواع تايب اسكربت الظاهرية المصدرة لمكتبة جافا سكريبت أو وحدة نمطية عندما يستهلكها مطور خارجي من تايب اسكربت.

وعلى صعيد آخر، يتشابه مفهوم ملفات التعريف مع مفهوم ملف الرأس الموجود في C / C ++ .declare module arithmetics {

  • add(left: number, right: number): number;
  • subtract(left: number, right: number): number;
  • multiply(left: number, right: number): number;

الطبقات

علاوةً على ذلك، يدعم تايب اسكربت فئات ECMAScript 2015 التي تدعم دعم التعليقات التوضيحية بالنوع الاختياري.class Person {

private name: string;

private age: number;

دعم IDE ومحرر

يدعم Cloud9 IDE و Codenvy عبر الإنترنت تايب اسكربت.

كذلك، مايكروسوفت توفر المكونات في ل البصرية ستوديو 2012 و WebMatrix ، الدعم المتكامل الكامل في البصرية ستوديو 2013 ، البصرية ستوديو 2015 ، والأساسي دعم محرر نص نص سامية ، إيماكس وفيم .

من جانب آخر، JetBrains يدعم نسخة مطبوعة على الآلة الكاتبة مع إنجاز قانون، إعادة الهيكلية وتصحيح الأخطاء في بيئات التطوير التي بنيت على منصة IntelliJ لل، مثل PhpStorm 6، WebStorm 6، و إنتيليج إيديا ، وكذلك على البصرية ستوديو الإضافية في والإرشاد، ReSharper 8.1.

وفي السياق ذاته، Visual Studio Code عبارة عن مصدر برمجي مفتوح المصدر، وهو برنامج التعليمات البرمجية المصدر الذي تم تطويره بواسطة مايكروسوفت استنادًا إلى إلكترون . وهو يدعم تايب اسكربت فضلًا عن الكثير من اللغات الأخرى، ويقدم ميزات مثل تصحيح الأخطاء وإكمال الشفرة الذكية .

كذلك، أتوم (محرر نصوص) على تايب اسكربت Plugin من Basarat مع دعم لإكمال التعليمات البرمجية والتنقل والتنسيق والترجمة السريعة.

في هذا الإطار، alm.tools هو IDE سحابة مفتوحة المصدر ل تايب اسكربت بنيت باستخدام تايب اسكربت و ReactJS و TypeStyle.

divide(left: number, right: number): number;

من جهة ثانية، يتم استضافة مجموعات كبيرة من ملفات التصريح لمكتبات جافا سكريبت الشائعة على GitHub في DefinitelyTyped و Typings Registry . يتم توفير أداة مساعدة لسطر الأوامر تسمى typingsللمساعدة في البحث

في هذا الإطار، }يمكن كتابة ملفات تعريف النوع يدويًا لمكتبات جافا سكريبت الحالية، كما تم القيام به لـ jQuery و Node.js.

مترجم

وعلى صعيد آخر، يدعم الإصدار الحالي من المحول البرمجي ECMAScript 5 بشكل افتراضي. يُسمح للخيار باستهداف ECMAScript 2015 للاستفادة من ميزات اللغة الخاصة بهذا الإصدار (مثل المولدات). تتوفر الفصول، على الرغم من كونها جزءًا من معيار ECMAScript 2015 ، في كلا الوضعين.

وفي هذا السياق، يوجد كذلك إصدار ألفا من برنامج التحويل البرمجي من جانب العميل في جافا سكريبت، والذي ينفذ شفرة تايب اسكربت على الفور، عند تحميل الصفحة.

ومن جهة أخرى، مترجم نسخة مطبوعة على الآلة الكاتبة، واسمه tscهو، وكتب في نسخة مطبوعة على الآلة الكاتبة . ونتيجة لذلك، يمكن تجميعها في جافا سكريبت عادية ويمكن لاحقًا تنفيذها في أي محرك جافا سكريبت (مثلًا، متصفح). تأتي حزمة برنامج التحويل البرمجي مجمعة مع مضيف برنامج نصي يمكنه تنفيذ المحول البرمجي. وهو متوفر كذلك كحزمة نود.جي إس التي تستعمل Node.js كمضيف.

يتوفر مكون إضافي لـ نت بينز

  • يتوفر مكون إضافي لـ إيماكس (الإصدار Kepler)
  • يتوفر TypEcs لـ اكبلس .
  • مايكروسوفتتوفر مايكروسوفت PlugScript Plugin سابليم تكست .
  • يدعم Cross Platform Cloud IDE Codeanywhere تايب اسكربت.
  • Webclipse البرنامج المساعد Eclipse المصمم لتطوير تايب اسكربت و Angular 2 .

المد والجزر - بيئة تطوير تفاعلية تايب اسكربت ل إيماكس .

وفي هذا السياق، بيئة تطوير متكاملة Angular هي بيئة تطوير متكاملة متوفرة عبر npm لتطوير تطبيقات تايب اسكربت و Angular 2 ، مع دعم طرفية مدمج.

ومن جهة أخرى، Tsuquyomi - البرنامج المساعد فيم الذي يستعمل TSServer ويوفر ميزات مثل اكتمال التعليمات البرمجية والتنقل وبناء الجملة والتحقق من الأخطاء الدلالي.

toString: string {

  • return `${this.name} (${this.age}) (${this.salary})`; // As of version 1.4
  • }
  • }

private salary: number;

  • constructor(name: string, age: number, salary: number) {
  • this.name = name;
  • this.age = age;
  • this.salary = salary;
  • }

تصميم اللغة

ومن ناحية أخرى، سعى مطورو تايب اسكربت إلى حل لا يكسر التوافق مع المعيار ودعمه عبر الأنظمة الأساسية. مع العلم أن الاقتراح القياسي الحالي ECMAScript وعدت الدعم المستقبلي للبرمجة القائمة على الطبقة، واستند تايب اسكربت على هذا الاقتراح. أدى ذلك إلى مترجم جافا سكريبت مع مجموعة من الامتدادات اللغوية النحوية، وهي مجموعة كبيرة تعتمد على الاقتراح، والتي تحول الإضافات إلى جافا سكريبت عادية. من هذا المنطلق، كان تايب اسكربت بمثابة معاينة لما يمكن توقعه من ECMAScript 2015. والجانب الفريد ليس في الاقتراح، ولكنه تمت إضافته إلى تايب اسكربت ، هو كتابة ثابتة اختيارية تمكن تحليل اللغة الثابت، مما يسهل الأدوات ودعم IDE.

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

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

وفي هذا الصدد، مثلًا، يمكن الحصول على التصريحات لمكتبةٍ مثل lodash ببساطة بالأمر التالي فقط:npm install --save @types/lodashمن الجدير بالذكر أنّ تنزيل حزمةِ @types لمكتبةٍ غير ضروري إذا كانت حزمة مدير حزمة العقدة تُحزِّم ملفّ تصريحاتها، كما وصفنا في صفحة نشر ملفات التصريحات.

البحث والعثور عن ملفات التصريحات

كذلك، تحمل حزم تصريحات الأنواع في أغلب الأحوال نفسَ اسم الحزمة على npm، لكن مع السابقة @types/، لكن إن احتجت إلى البحث عنها، فاستعمل محرك البحث هذا للبحث عن الحزمة لمكتبتك.

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

من جانب آخر، يميز تايب اسكربت بين الوحدات ومساحات الأسماء. كلتا الميزتين في دعم تايب اسكربت يدعمان الطبقات والواجهات والوظائف والمتغيرات في الحاويات. تستعمل مساحات الأسماء (الوحدات الداخلية سابقًا) تعبير الدالة المستدعى على الفور من جافا سكريبت لتغليف التعليمات البرمجية، بينما تستعمل الوحدات النمطية (وحدات خارجية سابقًا) أنماط مكتبة جافا سكريبت للقيام بذلك ( AMD أو CommonJS ).

ادوات التطوير

CATS Cross Platform تايب اسكربت Editor

وفي هذا الصدد، Awesome-تايب اسكربت: A community-supported list of tools and resources related to تايب اسكربت

التاريخ

كذلك، في يوليو 2014 ، أعلن فريق التطوير عن مترجم جديد لـ تايب اسكربت ، مدعياً مكاسب أداء 5 ×. في الوقت نفسه، تم نقل شفرة المصدر، التي استضافت في البداية على كود بلاكس ، إلى غيت هاب .

ومن ناحية أخرى، قام تايب اسكربت 0.9 ، الذي صدر في عام 2013 ، بإضافة دعم للأدوية. تم إصدار تايب اسكربت 1.0 في مؤتمر مايكروسوفت Build المطور في سنة 2014. يوفر مايكروسوفت فيجوال ستوديو 2013 Update 2 دعمًا مضمنًا لـ تايب اسكربت.

إضافةً إلى ذلك، تم إصدار تايب اسكربت لأول مرة في أكتوبر 2012 (الإصدار 0.8) ، بعد عامين من التطوير الداخلي في مايكروسوفت. بعد فترة وجيزة من الإعلان، أشاد ميجيل دي إيكازا باللغة نفسها، لكنه انتقد عدم وجود دعم IDE الناضج بعيدًا عن مايكروسوفت فيجوال ستوديو ، والذي لم يكن متاحًا على Linux و OS X في ذلك الوقت. هناك دعم في IDEs أخرى، لا سيما في اكبلس ، من خلال المكونات الإضافية التي ساهمت بها Palantir Technologies . محررات النصوص المختلفة، بما في ذلك ايماكس وفيم وسابليم تكست و Webstorm و أتوم و مايكروسوفتميجيل دي إيكازامايكروسوفت فيجوال ستوديو إكلبسإيماكسفيمسابليم تكستأتوم كما يدعم Visual Studio Code تايب اسكربت.

وفي هذا السياق، في 22 سبتمبر 2016 ، تم إصدار تايب اسكربت 2.0 ؛ قدم الكثير من الميزات، بما في ذلك قدرة المبرمجين على منع المتغيرات بشكل اختياري من تعيين قيم.

مساحات

الصفوف (tuple)

return left + right;

ومن جهة أخرى، يستعمل برنامج التحويل البرمجي لـ تايب اسكربت من نوع الاستدلال لاكتشاف الأنواع عندما لا يتم إعطاء الأنواع. مثلًا، addيمكن الاستدلال على الطريقة الواردة في التعليمة البرمجية أعلاه كإعادة numberولو لم يتم تقديم تعليق توضيحي لنوع الإرجاع. ويستند هذا على أنواع ثابتة leftو rightيجري numbers، والمعرفة المترجم أن نتيجة إضافة اثنين numbersهي دائما number. ومع ذلك، فإن التصريح بوضوح بنوع الإرجاع يسمح للمترجم بالتحقق من صحته.

وفي هذا السياق، إذا لم يكن بالإمكان الاستدلال على أي نوع بسبب نقص الإعلانات، فإنه يتم تعيينه افتراضيًا إلى anyالنوع الديناميكي . تدعم قيمة anyالنوع العمليات نفسها كقيمة في جافا سكريبت ويتم تنفيذ فحص الحد الأدنى من النوع الثابت لعمليات على anyالقيم.

وفي هذا السياق، يمكن تصدير التعليقات التوضيحية إلى ملف تعريفات منفصل لتوفير معلومات الكتابة للنصوص النصية لـ تايب اسكربت باستخدام الأنواع التي تم تجميعها بالفعل في جافا سكريبت. يمكن الإعلان عن التعليقات التوضيحية لمكتبة جافا سكريبت الحالية، كما تم القيام به لـ نود.جي إس وجي كويري .

من جانب آخر، }شروح لأنواع بدائية هي number، booleanو string. البنى الضعيفة أو الديناميكية هي من النوع any.

المعلمات الاختيارية والمعلمات الافتراضية

علاوةً على ذلك، من الناحية النحوية، تكون تايب اسكربت مشابهة جدًا لـ جسكربت .نت، وهو تطبيق مايكروسوفت آخر لمقياس اللغة ECMA-262 الذي أضاف دعمًا للكتابة الثابتة وخصائص اللغة الكلاسيكية المنحى على الكائنات مثل الفصول الدراسية، وراثة، وواجهات، ومساحات الأسماء.

دعم ECMAScript 2015

ومن ناحية أخرى، تضيف تايب اسكربت الدعم إلى ميزات مثل الفئات والوحدات النمطية وبناء جملة دالة السهم كما هو مقترح في معيار ECMAScript 2015.

التكامل مع أدوات أتمتة البناء

انظر كذلك

علاوةً على ذلك، باستخدام المكونات الإضافية ، يمكن دمج تايب اسكربت مع أدوات التنفيذ التلقائي، بما في ذلك Grunt (grunt-ts ) و أباتشي ميفن (تايب اسكربت Maven Plugin ) و Gulp (gulp -تايب اسكربت ) و Gradle (تايب اسكربت Gradle Plugin ).

التوافق مع جافا سكريبت

في هذا الإطار، باستخدام تايب اسكربت ، من الممكن استخدام شفرة جافا سكريبت الموجودة، وتضمين مكتبات جافا سكريبت الشائعة، والاتصال بالكود المتولد من تايب اسكربت من جافا سكريبت أخرى. يتم توفير تعريفات النوع لهذه المكتبات مع شفرة المصدر.

في هذا الإطار، تايب اسكربت عبارة عن مجموعة شاملة جدًا من إي سي إم ايه سكريبت 2015 ، والتي تعد بحد ذاتها مجموعة شاملة من ECMAScript 5 ، والتي يشار إليها عادةً باسم جافا سكريبت. على هذا النحو، يعد برنامج جافا سكريبت كذلك برنامج تايب اسكربت صالحًا، ويمكن لبرنامج تايب اسكربت أن يستهلك جافا سكريبت بسلاسة. بشكل افتراضي، يستهدف المحول البرمجي ECMAScript 5 ، المعيار السائد الحالي، ولكنه قادر كذلك على إنشاء التركيبات المستعملة في ECMAScript 3 أو 2015.

سمات اللغة

إضافةً إلى ذلك، تايب اسكربت هو ملحق لغة يضيف ميزات إلى إي سي إم ايه سكريبت 5. وتتضمن الميزات الإضافية:

  • اكتب الشروح و وقت التحويل البرمجي نوع التحقق
  • اكتب الاستدلال
  • اكتب محو
  • واجهات
  • نوع تعداد
  • Mixin
  • عام

الاعتماد على ملف التصريحات

ومن جهة أخرى، بعد الخطوة السابقة، يمكنك استخدام lodash في شيفرة تايب سكريبت مباشرةً. ويمكنك الاعتماد عليها في الوحدات والشيفرة العامة (global code) كذلك.

وفي هذا الصدد، مثلًا، بعد تثبيت تصريحاتك باستخدام npm install، يمكنك استعمال المكتبة كالتالي:import * as _ from "lodash";

إضافةً إلى ذلك، _.padStart("Hello TypeScript!", 20, " ");وإن كنت لا تستعمل الوحدات، فيمكنك فقط استعمال المتغير العام الذي توفره المكتبة (_ في مكتبة lodash):_.padStart("Hello TypeScript!", 20, " ");

اكتب التعليقات التوضيحية

{

علاوةً على ذلك، يوفر تايب اسكربت الكتابة الثابتة عبر التعليقات التوضيحية للنوع لتمكين الكتابة من التحقق في وقت التحويل البرمجي . هذا أمر اختياري ويمكن تجاهله لاستخدام الكتابة الديناميكية الدورية لجافا سكريبت.function add(left: number, right: number): number

أنجولار

  • دارت (لغة برمجة)
  • كافي سكريبت
  • مراجع
  • وصلات خارجية
  • تايب اسكربت project at غيت هاب
  • تايب اسكربت Language Specification

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

من جانب آخر، أصبح استخدام ملفات التصريحات سهلًا جدًّا منذ النسخة 2.0 من تايب سكريبت، إذ أصبح الحصول عليها واستخدامها والعثور عليها أبسط من ذي قبل. ستساعدك هذه الصفحة على القيام بهذه العمليات الثلاث.

ما رأيك في هذه المقالة؟

📝 هل في هذه المقالة خطأ؟

إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.