מה זה ממשק TypeScript לעומת סוג?

Mh Zh Mmsq Typescript L Wmt Swg



TypeScript תומך בסוגים מותאמים אישית, אותם ניתן להגדיר באמצעות ' מִמְשָׁק ' או ' סוּג '. ממשק יכול להיות מיושם על ידי מחלקה או אובייקט, ואילו כינוי טיפוס יכול לשמש רק ליצירת שם חדש לסוג קיים או להגדרת איחוד של טיפוסים. למרות שסוגים וממשקים ניתנים להחלפה לעיתים קרובות, ישנם הבדלים מסוימים בפונקציונליות ובתחביר שלהם שהופכים אותם למתאימים יותר לתרחישים מסוימים.

בלוג זה יתאר את הממשק והסוג של TypeScript וההבדל ביניהם.







מה זה ממשק TypeScript לעומת סוג?

' מִמְשָׁק ' ו' סוּג ' משמשים להגדרת סוגים מותאמים אישית ב-TypeScript. אבל יש כמה הבדלים בפונקציונליות ובתחביר שלהם. ההבדל העיקרי בין ממשק לסוג הוא שממשק מגדיר סוג חדש, בעוד שכינוי טיפוס לא.



ניתן ליישם ממשק על ידי מחלקה או אובייקט, בעוד טיפוסים יכולים להגדיר סוגים מורכבים יותר באמצעות תכונות כמו איגודים וצמתים. באופן כללי, ממשקים משמשים יותר להגדרת צורות אובייקטים וממשקי API, בעוד שסוגים משמשים יותר להגדרת סוגי נתונים מורכבים וסוגי עזר. בואו נבין את שניהם בנפרד.



מהו ממשק TypeScript?

ממשק TypeScript הוא טכניקה להגדרת הצורה של אובייקט TypeScript. הוא נוצר באמצעות מילת המפתח ' מִמְשָׁק ' והוא מציין קבוצה של תכונות ושיטות שאובייקט דורש כדי להיות מסווג כסוג זה. זה שווה ערך למחלקה בתכנות מונחה עצמים; עם זאת, הוא אינו מגדיר יישום כלשהו. ממשקים משמשים בעיקר לבדיקת סוגים והבטחת התאמה של אובייקט למבנה מסוים.





לפני שתמשיך, זכור שכדי להפעיל קובץ TypeScript, יש להעביר אותו לקובץ JavaScript ולאחר מכן להריץ את קוד ה-JavaScript במסוף באמצעות הפקודות הנתונות:

tsc filename.ts
node filename.js


דוגמא



צור ממשק בשם 'משתמש' המגדיר שלוש תכונות ושיטה ' לקבל מידע() ”:

ממשק משתמש {
שם פרטי: מחרוזת;
שם משפחה: מחרוזת;
גיל: מספר;
לקבל מידע ( ) : בטל;
}


צור כיתה' סטוּדֶנט ' שעובר בירושה עם ממשק. המחלקה מגדירה את התכונות שלה, בנאי שיקצה את הערכים לתכונות, ומתודה 'getInfo()' שתציג את הערכים ביחס לתכונות:

כיתה תלמיד מיישם משתמש {
שם פרטי: מחרוזת;
שם משפחה: מחרוזת;
גיל: מספר;

בַּנַאִי ( שם פרטי: מחרוזת, שם משפחה: מחרוזת, גיל: מספר ) {
this.firstName = firstName;
this.lastName = lastName;
this.age = גיל;
}
לקבל מידע ( ) : בטל {
console.log ( 'מידע תלמיד:' )
console.log ( '- שם:' + this.firstName + '' + this.lastName ) ;
console.log ( '- גיל: ' + הגיל הזה ) ;
}
}


צור אובייקט של ' סטוּדֶנט 'שם' סטד 'של' מִשׁתַמֵשׁ ' הקלד על ידי קריאה לבנאי עם מילת המפתח 'חדשה' ולאחר מכן, קרא את השיטה getInfo() כדי להדפיס את הנתונים במסוף:

const std: משתמש = תלמיד חדש ( 'עטלף' , 'סטיב' , 17 ) ;
std.getInfo ( ) ;


תְפוּקָה

מהו סוג TypeScript?

סוגי TypeScript משמשים בעיקר ליצירת כינויים לסוגים קיימים וכן ליצירת סוגים מסובכים יותר. הוא מייצג צורה או מבנה ספציפי של נתונים. ניתן להגדיר/להכריז באמצעות ה-' סוּג ' מילת מפתח. ניתן להשתמש בסוגים של TypeScript כדי להפוך את הקוד למובנה יותר ולהפחית חזרות/כפילות.

דוגמא

ראשית, הגדר סוג ' מִשׁתַמֵשׁ ' משתמש ב ' סוּג ' מילת מפתח שצוינה עם חמישה מאפיינים אחד מהם הוא תכונה אופציונלית שהיא ' טלפון ”:

סוּג משתמש = {
שם פרטי: מחרוזת;
שם משפחה: מחרוזת;
גיל: מספר;
דואר אלקטרוני: מחרוזת;
טלפון?: מחרוזת;
} ;


הגדר פונקציה בשם ' getFullName ', שלוקח פרמטר מסוג ' מִשׁתַמֵשׁ ' ומדפיס את הנתונים המורכבים מהמידע של האדם כולל ' שֵׁם ', ' גיל ', ' אימייל ' ו' מספר טלפון ”:

פוּנקצִיָה לקבל מידע ( אדם: משתמש ) : בטל {
console.log ( 'מידע משתמש:' )
console.log ( '- שם:' + person.firstName + '' + person.lastName ) ;
console.log ( '- גיל: ' + גיל אדם ) ;
console.log ( '- אימייל: ' + person.email ) ;
console.log ( '-טלפון #: ' + person.phone ) ;
}


כעת, צור אובייקט ' אדם 'מהסוג' מִשׁתַמֵשׁ ' עם צמדי מפתח-ערך:

const person: משתמש = {
שם פרטי: 'מילי' ,
שם משפחה: 'מיכל' ,
גיל: 28 ,
אימייל: 'mili124@yahoo.com' ,
טלפון: '086-34581734'
} ;


לבסוף, הדפס את פרטי המשתמש על ידי קריאה לפונקציה getInfo():

console.log ( לקבל מידע ( אדם ) ) ;


תְפוּקָה


זה היה הכל על הממשק והסוג של TypeScript.

סיכום

ב-TypeScript, ' מִמְשָׁק ' ו' סוּג ' משמשים להגדרת סוגים מותאמים אישית. ניתן ליישם ממשק על ידי מחלקה או אובייקט, בעוד טיפוסים יכולים להגדיר סוגים מורכבים יותר באמצעות תכונות כמו איגודים וצמתים. אלו הן התכונות החזקות שיכולות לעזור בכתיבת קוד מאורגן וניתן להרחבה יותר. בלוג זה תיאר את ממשק וסוג TypeScript ואת ההבדל ביניהם.