كيفية تبسيط كود TypeScript الخاص بك باستخدام 6 أنواع من الأدوات الأساسية

كيفية تبسيط كود TypeScript الخاص بك باستخدام 6 أنواع من الأدوات الأساسية
القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة. اقرأ أكثر.

TypeScript هي مجموعة شاملة من JavaScript تتيح لك إضافة كتابة ثابتة إلى قاعدة التعليمات البرمجية الخاصة بك. بفضل نظام الكتابة القوي ، توفر TypeScript إمكانية قراءة محسّنة للكود والقدرة على اكتشاف الأخطاء أثناء وقت الترجمة.





أحد الجوانب الأكثر فائدة في TypeScript هو أنواع الأدوات المساعدة المضمنة ، والتي يمكن أن تبسط جهود الترميز الخاصة بك وتوفر وقت التطوير الثمين. ألقِ نظرة على أنواع الأدوات المساعدة TypeScript التي لا بد من معرفتها والتي يمكن أن تساعدك في كتابة تعليمات برمجية آمنة من النوع بسهولة.





اجعل فيديو اليوم قم بالتمرير للمتابعة مع المحتوى

1. نوع المنفعة الجزئية

تيبسكريبت يتيح لك نوع الأداة الجزئية جعل أي خصائص لكائن اختيارية. يتيح لك إنشاء كائنات بخصائص معينة قد تكون مفقودة أو غير محددة. خذ على سبيل المثال:





 interface User {  
  name: string;
  age: number;
  email: string;
}

باستخدام نوع المنفعة الجزئية ، يمكنك إنشاء نوع جديد مع تعيين جميع خصائص واجهة المستخدم على أنها اختيارية:

 type OptionalUser = Partial<User>

الآن ، يمكنك إنشاء مثيل من نوع OptionalUser مع تحديد بعض الخصائص فقط:



 const user: OptionalUser = { name: "John" };

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

هل يمكنك ترقية ذاكرة الوصول العشوائي macbook pro

2. اختر نوع الأداة المساعدة

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





 interface User {  
  location: string;
  age: number;
  email: string;
}

type PersonWithoutEmail = Pick<User, 'location' | 'age'>;

const person: PersonWithoutEmail = {
  location: 'USA',
  age: 30
};

في هذا المثال ، تحدد الواجهة المسماة 'المستخدم' ثلاث خصائص: البريد الإلكتروني والعمر والموقع.

باستخدام ملف اختر نوع المنفعة ، يمكنك استخراج خصائص 'الموقع' و 'العمر' بشكل انتقائي من واجهة المستخدم ، مما يؤدي إلى إنشاء نوع جديد يسمى 'PersonWithoutEmail'.





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

ما هو ملف .ai

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

3. نوع الأداة المساعدة للقراءة فقط

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

 interface User { 
  readonly name: string;
  readonly age: number;
  readonly email: string;
}

باستخدام نوع الأداة للقراءة فقط ، يمكنك إنشاء نوع جديد مع تعيين جميع خصائص واجهة المستخدم للقراءة فقط:

 type ReadonlyUser = Readonly<User>

يمكنك تحديد قيم الخاصية عند إنشاء نسخة ReadonlyUser ::

 const user: ReadonlyUser = {  
  name: "John",
  age: 30,
  email: "john@example.com"
};

عندما تقوم بتمييز خصائص عنصر ما على أنها للقراءة فقط ، فإن محاولة تعديل قيم هذه الخصائص تصبح مستحيلة:

 user.name = "Jane"; 
// Error: Cannot assign to 'name' because it is a read-only property.

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

4. نوع الأداة المطلوبة

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

 interface User { 
  name: string;
  location: number;
  address: string;
}

من خلال استخدام نوع الأداة المطلوبة ، من الممكن إنشاء نوع جديد يجمع كل سمات واجهة المستخدم مع طلب وجود كل من هذه الخصائص. لا يمكن إنشاء مثيل RequiredUser إلا بعد تعيين جميع خصائصه بشكل صحيح.

 const user: RequiredUser = {  
  name: "John Doe",
  location: "USA",
  address: "Kansas 9745-0622"
};

يضمن استخدام نوع الأداة المساعدة المطلوبة وجود جميع الخصائص المطلوبة داخل الكائن.

5. حذف نوع الأداة المساعدة

يسمح لك نوع الأداة Omit بإنشاء نوع جديد عن طريق استبعاد خصائص معينة من نوع موجود.

 interface Person { 
  location: string;
  age: number;
  email: string;
}

type PersonWithoutEmail = Omit<Person, 'email'>;
const person:PersonWithoutEmail = { location: "USA"; age : 30 };

تحتوي واجهة الشخص على ثلاث خصائص: العمر والموقع والبريد الإلكتروني. يستخدم النوع PersonWithoutEmail نوع الأداة المساعدة Omit لتضمين جميع خصائص كائن الشخص ، باستثناء البريد الإلكتروني. يمكنك بعد ذلك إنشاء مثيل من هذا النوع الجديد ، بدون تحديد قيمة لخاصية البريد الإلكتروني.

لن يتصل google home mini بشبكة wifi

يجب أن تضع في اعتبارك أن نوع الأداة Omit يتشارك أوجه تشابه كبيرة مع نوع الأداة المساعدة Pick ، ​​حيث أنه يمكّنك من ابتكار نوع جديد باستخدام الخصائص التي تحددها فقط.

6. نوع أداة التسجيل

يمكنك استخدام نوع الأداة المساعدة للسجل لتعريف نوع كائن يكون للمفاتيح والقيم نوع معين له. تعريفه هو:

 type Record<K extends keyof any, T> = { [P in K]: T;};

يربط هذا النوع T بقيمة كل مفتاح ، بينما K هو اتحاد مفاتيح من أي نوع. الكائن الناتج له نوع خاصيته P مضبوطة على T.

ضع في اعتبارك سيناريو نوع الكائن مع مفاتيح السلسلة والقيم الرقمية. في هذه الحالة ، يمكنك تطبيق سجل نوع الأداة مثل:

 type MyRecord = Record<string, number>; 

const myObject: MyRecord = {
  "foo": 1,
  "bar": 2,
  "baz": 3,
}

يحدد هذا المثال MyRecord كنوع كائن بمفاتيح سلسلة وقيم رقمية. يمثل كائن myObject نموذجًا لهذا النوع ، مع تعيين المفاتيح 'foo' و 'bar' و 'baz' للقيم المقابلة لها.

تبسيط التعليمات البرمجية باستخدام أنواع الأدوات المساعدة من TypeScript

كشفت هذه المقالة عن القوة الهائلة لأنواع الأدوات المساعدة TypeScript - يمكن أن تكون أحد الأصول القيمة عندما يتعلق الأمر بتبسيط التعليمات البرمجية الخاصة بك وجعل التطوير أسرع وأكثر كفاءة. يمكن لهذه الأنواع من الأدوات المساعدة و TypeScript بشكل عام أن تفعل المعجزات للتأكد من أن شفرتك دائمًا خالية من الأخطاء وتلتزم بهياكل معينة.