Jump to content

TypeScript

Build safety nets, not guard rails

Avatar of @alexdotjs
Theo - creator of the T3 Stack @t3dotgg

سواءََ كُنت مُبرمجا مُبتدئاََ أو مُتمرسًا ، فعلبك أن تتأكد تمام الثقة أن TypeScript أمر لا بد منه. قد تبدو مخيفتاََ في البداية ، ولكنها في الواقع فحالها كحال الأدوات الأخرى، وهي شيء لا يَنظر فية الكثيرون أبدًا بعد البدء في استخدامها.

فتُوفر مٌلاحظات مٌباشرة أثناء كِتابة الكود عَن طَريق تَحديد أنواع البيانات المتوقعة ، وأيضا تٌوفر خاصية الإكمال التلقائي في الـ Editor الخاص بك ، أو ربما ستصرخ عَليك بِخطوط مُتعرجة حمراء إذا حاولت الوصول إلى خاصية غير موجودة أو إذا قمت بتمرير قيمة من النوع الخطأ ، التي قد تضطر إلى تصحيحها.

الـ Type Inference

يميل الكثير من مٌطوري Typescript إلى كِتابة الكثير من الـ types وفي واقع الامر أن هذا ليس ضرورياََ أبداََخاصتاََ مع وجود الـ Inference. لكن … إنتظر لحظة .. ، ما هو الـ Inference اصلا ؟ حسنا .. الـ Inference هو تَتَبُع الـ Types لك في كل مكان في الكود، يُفيدك في أنه يُغنيك عن تِكرار كتابة الـ Types في أماكن أخرى.

الق نظرة علي you might be using TypeScript wrong

إستخدامات الـ type inference

مكتبة Zod

مكتبة Zod هي schema validation library تم بِنائوها بـ Typescript. فَقط اٌكتب الـ Schema التي تٌمثل مَصدر الحقيقة الاساسي single source of truth ودع الباقي لـ zod وهي ستتكفل بة.

مكتبة Tanstack Query

تُسهل عليك كِتابة وإدارة الـ queries و الـ mutations مما يٌدوي الي تحسين تجربة المٌطور والمستخدم.

مصادر مفيدة

المصدرالرابط
TypeScript Handbookhttps://www.typescriptlang.org/docs/handbook/
Beginners TypeScript Tutorialhttps://github.com/total-typescript/beginners-typescript-tutorial
Type Challengeshttps://github.com/type-challenges/type-challenges
Rodney Mullen of TypeScript (Matt Pocock) Youtube Channelhttps://www.youtube.com/c/MattPocockUk/videos