ما هو TypeScript Interface مقابل النوع؟

Ma Hw Typescript Interface Mqabl Alnw



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

ستصف هذه المدونة واجهة TypeScript والنوع والاختلاف بينهما.







ما هو TypeScript Interface مقابل النوع؟

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



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



ما هي واجهة TypeScript؟

واجهة TypeScript هي تقنية لتعريف شكل كائن TypeScript. تم إنشاؤه باستخدام الكلمة الأساسية ' واجهه المستخدم 'وتحدد مجموعة من السمات والطرق التي يتطلبها الكائن ليتم تصنيفها على أنها من هذا النوع. وهو يعادل فئة في البرمجة الشيئية ؛ ومع ذلك ، فإنه لا يحدد أي تطبيق. تُستخدم الواجهات بشكل أساسي لفحص النوع والتأكد من أن الكائن يتوافق مع بنية معينة.





قبل المتابعة ، ضع في اعتبارك أنه من أجل تنفيذ ملف TypeScript ، يجب تحويله إلى ملف JavaScript ثم تشغيل كود JavaScript على الجهاز باستخدام الأوامر المحددة:

tsc filename.ts
node filename.js


مثال



أنشئ واجهة باسم 'المستخدم' تحدد ثلاث سمات وطريقة ' يحصل على معلومات() ':

واجهة المستخدم {
الاسم الأول: سلسلة ؛
اسم العائلة: سلسلة ؛
العمر: الرقم ؛
يحصل على معلومات ( ) : فارغ؛
}


إنشاء فئة ' طالب 'الموروثة مع واجهة. تحدد الفئة سماتها ، والمنشئ الذي سيعين القيم إلى السمات ، والطريقة 'getInfo ()' التي ستعرض القيم المتعلقة بالسمات:

فئة الطالب تنفذ المستخدم {
الاسم الأول: سلسلة ؛
اسم العائلة: سلسلة ؛
العمر: الرقم ؛

البناء ( firstName: string ، lastName: string ، age: number ) {
this.firstName = firstName ؛
this.lastName = lastName ؛
this.age = العمر ؛
}
يحصل على معلومات ( ) : فارغ {
وحدة التحكم ( 'بيانات الطالب:' )
وحدة التحكم ( '- اسم: ' + this.firstName + ' + this.lastName ) ؛
وحدة التحكم ( '- عمر: ' + هذه ) ؛
}
}


أنشئ كائنًا من ' طالب ' اسم الشيئ ' الأمراض المنقولة جنسيا ' ل ' مستخدم اكتب عن طريق استدعاء المُنشئ بالكلمة الأساسية 'new' ثم اتصل بطريقة getInfo () لطباعة البيانات على وحدة التحكم:

const std: المستخدم = طالب جديد ( 'مضرب' و 'ستيف' و 17 ) ؛
std.getInfo ( ) ؛


انتاج |

ما هو نوع TypeScript؟

تُستخدم أنواع TypeScript في الغالب لإنشاء أسماء مستعارة للأنواع الموجودة وكذلك لإنشاء أنواع أكثر تعقيدًا. إنه يمثل شكلًا معينًا أو هيكلًا معينًا للبيانات. يمكن تعريفه / التصريح عنه بـ ' يكتب 'الكلمة الرئيسية. يمكن استخدام أنواع TypeScript لجعل الشفرة أكثر قابلية للفهم وتقليل التكرار / التكرار.

مثال

أولاً ، حدد النوع ' مستخدم ' باستخدام ' يكتب 'الكلمة الرئيسية المحددة بخمسة خصائص ، إحداها سمة اختيارية وهي' هاتف ':

يكتب المستخدم = {
الاسم الأول: سلسلة ؛
اسم العائلة: سلسلة ؛
العمر: الرقم ؛
البريد الإلكتروني: سلسلة ؛
هاتف ؟: سلسلة؛
} ؛


حدد وظيفة باسم ' getFullName '، والذي يأخذ معلمة من النوع' مستخدم 'ويطبع البيانات التي تتكون من معلومات الشخص بما في ذلك' اسم '،' عمر '،' بريد إلكتروني ' و ' رقم التليفون ':

وظيفة يحصل على معلومات ( الشخص: المستخدم ) : فارغ {
وحدة التحكم ( 'معلومات المستخدم:' )
وحدة التحكم ( '- اسم: ' + person.firstName + ' + person.lastName ) ؛
وحدة التحكم ( '- عمر: ' + شخص ) ؛
وحدة التحكم ( '- بريد إلكتروني: ' + شخص ) ؛
وحدة التحكم ( '-هاتف #: ' + شخص. هاتف ) ؛
}


الآن ، قم بإنشاء كائن ' شخص 'من النوع' مستخدم 'مع أزواج المفتاح والقيمة:

الشخص الثابت: المستخدم = {
الاسم الأول: 'ميلي' و
اسم العائلة: 'ميشيل' و
عمر: 28 و
بريد إلكتروني: 'mili124@yahoo.com' و
هاتف: '086-34581734'
} ؛


أخيرًا ، اطبع معلومات المستخدم عن طريق استدعاء الوظيفة getInfo ():

وحدة التحكم ( يحصل على معلومات ( شخص ) ) ؛


انتاج |


كان هذا كل شيء عن واجهة TypeScript والنوع.

خاتمة

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