نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

المزخرفات في TypeScript

مقدمة مع إضافة الأصناف إلى TypeScript ونسخة ES6، فقد ظهرت كذلك حاجةٌ إلى ميزات إضافية لدعم تعديل الأصناف وعناصر الأصناف أو توصيفها (annotating). توفّر المزخرفات (Decorators) طريقة لإضافة توصيفات وبنية برمجة وصفيّة (meta-programming) لتصريحات الأصناف وعناصرها. المزخرفات حاليًّا اقتراح في المرحلة 2 (stage 2 proposal) في JavaScript وهي متوفّرة كميّزة تجريبيّة في TypeScript. ملاحظة: المزخرفات ميّزة تجريبيّة قد تتغيّر في النسخ الجديدة مستقبلًا. لتفعيل الدعم التجريبي للمزخرفات، عليك تفعيل خيار المترجم ‎experimentalDecorators‎ إما على سطر الأوامر أو في ملفّ ‎tsconfig.json‎ ...

الرموز في TypeScript

مقدمة أضافت النسخة ECMAScript 2015 من لغة JavaScript نوع بيانات أوليّ (primitive data type) جديد يُسمّى ‎symbol‎، وهو نوعٌ أوليّ مثل النوع ‎number‎ والنوع ‎string‎. انظر توثيق ‎Symbol‎ لتفصيل دقيق عن هذه الرموز. تنشأ القيم من النوع ‎symbol‎ عبر استدعاء الدالة البانية ‎‎Symbol()‎‎: let sym1 = Symbol(); let sym2 = Symbol("key"); // مفتاح نصيّ اختياريّ الرموز فريدة (unique) وغير قابلة للتعديل (immutable): let sym2 = Symbol("key"); let sym3 = Symbol("key"); sym2 === sym3; // false, الرموز فريدة ولو أُنشِأت بنفس المفتاح يُمكن استخدام ...

tsconfig.json في TypeScript

مقدمة وجود ملفٍّ باسم ‎tsconfig.json‎ في مجلّدٍ ما إشارةٌ إلى أنّ المجلّد هو جذر (root) مشروع TypeScript. يُحدِّد الملفّ ‎tsconfig.json‎ الملفات الجذر (root files) وخيارات الترجمة المطلوبة لترجمة المشروع. يُترجم المشروع بإحدى الطريقتين التاليتين: عبر استخدام أداة ‎tsc‎ دون أي ملفّات مُدخلَة (input files): في هذه الحالة يبحث المترجم عن الملف ‎tsconfig.json‎ بدءًا من المجلد الحالي ثمّ الصعود للأعلى في سلسلة المجلدات الآباء (parent directory chain). عبر استخدام أداة ‎tsc‎ دون أي ملفّات مُدخلَة وخيار سطر الأوامر ‎--project‎ (أو ‎-p‎ ...

الدوال في TypeScript

مقدمة تُعدّ الدوال أحد أساسات أي تطبيق مكتوب بلغة JavaScript. إذ تُستخدم لبناء طبقات تجريد (layers of abstraction)، ولبناء مكونات تعمل كالأصناف، ولإخفاء المعلومات (information hiding)، وتعمل كوحداتٍ (modules) كذلك. ورغم أن الأصناف ومجالات الأسماء والوحدات موجودة في TypeScript، إلّا أنّ الدوال لا تزال تلعب الدور الرئيسيّ في وصف كيفيّة القيام بالأمور. وتُضيف TypeScript كذلك بعض المزايا الجديدة لدوال JavaScript الاعتياديّة لتسهيل مهمّة العمل معها. الدوال يُمكن بدايةً إنشاء الدوال في لغة TypeScript كما في لغة JavaScript، ويُمكن إنشاء الدوال ...

JSX في TypeScript

مقدمة JSX بنيةٌ (syntax) مشابهةٌ للغة XML يُمكن تضمينها وتحويلها إلى شيفرة JavaScript صالحة، لكن آلية عملية التحويل تختلف من تطبيق (implementation) إلى آخر. اشتهرت JSX باستخدامها مع مكتبة React، لكنها تملك تطبيقات أخرى غير React. تدعم لغة TypeScript تضمين JSX، وتدقيق الأنواع فيها، وكذا ترجمة JSX إلى JavaScript مباشرةً. ملاحظة حول المصطلحات: نستخدم في هذه الصّفحة كلمة "صِفَة" للإشارة إلى الكلمة الإنجليزيّة "attribute" وكلمة "خاصيّة" للإشارة إلى كلمة "property"، كلاهما يُترجَم إلى كلمة "خاصيّة" ولهما نفس المعنى في معظم ...

الأصناف في TypeScript

مقدمة تعتمد لغة JavaScript التقليدية على الدوال والوراثة المعتمدة على سلسلة Prototype لبناء مكونات قابلة لإعادة الاستعمال، وقد يجد بعض المبرمجين هذه الطريقة غريبة ومرهقة، خاصّة الذين ألِفوا البرمجة كائنيّة التوجه التي تعتمد على الأصناف التي ترث وظيفة (functionality) الأصناف الأساس (base classes) وتُبنَى فيها الكائنات من هذه الأصناف. بدايةً من الإصدار ECMAScript 2015 المعروف كذلك بالإصدار ECMAScript 6، يُمكن لمبرمجي JavaScript بناء التطبيقات باستخدام البرمجة كائنيّة التوجّه المعتمِدة على الأصناف. وتسمح TypeScript للمطورين باستعمال هذه التقنيات الآن، وتُترجِمها إلى ...

الواجهات في TypeScript

مقدّمة تركيز التحقق من الأنواع (type-checking) على شكل (shape) القيم من مبادئ TypeScript الأساسية. يُصطلَح عليه أحيانًا بالتعبير duck typing أو التحقق من الأنواع الفرعيّة هيكليًّا (structural subtyping). تعمل الواجهات في TypeScript على تسمية هذه الأنواع، وهي طريقة قويّة لتعريف عقود (contracts) داخل شيفرتك أو عقود مع شيفرةٍ خارج مشروعك. واجهة بسيطة لنبدأ بمثال بسيط لنفهم كيفيّة عمل الواجهات: function printLabel(labelledObj: { label: string }) { console.log(labelledObj.label); } let myObj = {size: 10, label: "Size 10 Object"}; printLabel(myObj); سيتحقّق مدقّق ...

مدخل إلى TypeScript

يُشار إلى TypeScript على أنّها مجموعة عليا (superset) من JavaScript وتُترجم (compile) إليها. وهذا يعني بأن البرامج المكتوبة بلغة JavaScript هي برامج TypeScript صالحة كذلك، ولأنّها تُترجم إلى لغة JavaScript عاديّة، فيُمكن كتابة برامج بلغة TypeScript وترجمتها وتشغيلها في أي مكان يقبل تشغيل برمجيات JavaScript مثل المتصفّح، أو منصّة Node.js، أو أي مُحرّكٍ (engine) يدعم الإصدار ECMAScript 3 من لغة JavaScript أو أي إصدار أحدث منه. تدعم TypeScript مزايا JavaScript الجديدة والتي قيد التطوير، ما يشمل مزايا الإصدار ECMAScript 2015 ...

الوحدات في TypeScript

ملاحظة حول المصطلحات تغيّرت طريقة استخدام المصطلحات في النسخة TypeScript 1.5، إذ كانت مجالات الأسماء (namespaces) تُسمّى قديمًا بمصطلح "الوحدات الداخليّة (internal modules)"، وما كان يُسمّى بالوحدات الخارجيّة (External modules) أصبح يُسمّى ببساطة بمصطلح "الوحدات (modules)" وهو ما سنغطّيه في هذه الصفحة. ويجب استخدام الكلمة المفتاحية ‎namespace‎ في الأماكن التي كانت تُستخدَم فيها الكلمة المفتاحية ‎module‎ للتصريح عن وحدة داخليّة في النسخ التي سبقت TypeScript 1.5، أي أنّ عليك استخدام ‎namespace X {‎ عوضًا عن ‎module X {‎ (انظر صفحة ...

المخاليط في TypeScript

مقدمة إضافةً إلى تسلسلات البرمجة كائنية التوجه التقليدية، هناك كذلك طريقة شائعة لبناء أصناف من مكونات قابلة لإعادة الاستعمال، وهي بناؤها عبر دمج أصناف جزئية أبسط. قد تكون فكرة المخاليط (mixins) أو السمات (traits) في لغات مثل Scala مألوفة بالنسبة إليك، وقد أصبح نمط المخاليط مشهورًا في مجتمع JavaScript كذلك. عينة لمخلاط يُمكنك التعرف على كيفية إنشاء المخاليط في TypeScript من الشيفرة أدناه. سنشرح مكونات الشيفرة تاليًا: // Disposable Mixin class Disposable { isDisposed: boolean; ...

عرض (20 السابقة | 20 التالية) (20 | 50 | 100 | 250 | 500).