מהו סוג ההשמטה ב-TypeScript?

Mhw Swg Hhsmth B Typescript



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

מדריך זה מסביר את סוג השירות 'השמט' ב-TypeScript.

מהו סוג ההשמטה ב-TypeScript?

ה ' לְהַשְׁמִיט סוג השירות יוצר סוג חדש על ידי אי הכללת המאפיינים המיותרים של סוג הבסיס. סוג הבסיס מייצג את הסוג הקיים ממנו נובע הטיפוס החדש.







תחביר



הקלד NewType = לְהַשְׁמִיט < ExistingType, 'שם נכס1' | 'שם נכס2' | ... >

התחביר לעיל יכול ' לְהַשְׁמִיט ' מאפיינים מרובים של ' ExistingType ' על ידי הפרדתם בעזרת ' אוֹ (|)' אופרטור.



בואו נשתמש בסוג השירות שהוגדר לעיל 'השמט' באופן מעשי.





דוגמה 1: החלת ה-'Omit' עם כינוי סוג

דוגמה זו משתמשת בסוג השירות 'השמט <סוג, מפתחות>' כדי ליצור סוג חדש מהסוג הקיים.



קוד

העתק את שורת הקוד הנתונה בקובץ '.ts' של פרויקט TypeScript:

הקלד משתמש = {
שֵׁם : חוּט,
גיל : מספר,
מקום : חוּט
} ;

הקלד UserWithoutAge = לְהַשְׁמִיט < מִשׁתַמֵשׁ, 'גיל' >;

const משתמש ללא הפסקה : משתמש ללא גיל = {

שֵׁם : 'אוֹ' ,

מקום : 'איסלמבאד'

} ;

לְנַחֵם. עֵץ ( משתמש ללא הפסקה ) ;

בקוד הזה:

  • ה ' מִשׁתַמֵשׁ סוג מוגדר עם השם, הגיל והמיקום של המאפיינים שצוינו.
  • לאחר מכן, ה' משתמש ללא גיל ' נוצר סוג חדש מסוג 'משתמש' הקיים על ידי אי הכללה של מאפיין 'גיל' שלו באמצעות ' לְהַשְׁמִיט 'סוג שירות.
  • לאחר מכן, חפץ ' משתמש ללא הפסקה נוצר ' מהסוג 'UserWithoutAge' המציין את כל השדות מהסוג הקיים 'User' למעט 'גיל'.
  • לבסוף, ה' console.log() השיטה מיושמת להצגת האובייקט 'userwithoutage'.

תְפוּקָה

הרכיב את קובץ ה-'.ts' והפעל את קובץ ה-'.js' שנוצר אוטומטית:

tsc main. js //Compile.ts קובץ

צומת ראשי. js //הפעל את קובץ js

ניתן לראות שהטרמינל מציג את הפלט של אובייקט הסוג החדש 'UserWithoutAge'.

דוגמה 2: החלת ה-'Omit' סוג עם ממשק

דוגמה זו מיישמת את סוג השירות 'השמט <סוג, מפתחות>' עם ממשקים ליצירת סוג חדש.

קוד

מִמְשָׁק מִשׁתַמֵשׁ {

שֵׁם : חוּט ;

גיל : מספר ;

מקום : חוּט ;

}

הקלד NewPerson = לְהַשְׁמִיט < מִשׁתַמֵשׁ, 'גיל' | 'מקום' >;

const אדם : אדם חדש = {

שֵׁם : 'אוֹ'

} ;

לְנַחֵם. עֵץ ( אדם ) ;

כעת, שורות הקוד המוצהרות:

  • הגדר ממשק ' מִשׁתַמֵשׁ ' בעל השם, המחרוזת והמיקום של המאפיינים הבאים.
  • לאחר מכן, צור סוג חדש ' אדם חדש ' מהממשק הקיים 'משתמש' למעט גיל ומיקום המאפיינים שצוינו.
  • לאחר מכן, צור את האובייקט מהסוג החדש 'NewPerson' בשם ' אדם ' מציין רק מאפיין אחד, כלומר 'שם' של הממשק הקיים 'משתמש'.
  • לבסוף, הצג את השדות של האובייקט 'אדם' באמצעות ' console.log() ' שיטה.

תְפוּקָה

הידור והפעל את הקוד:

tsc main. js //Compile.ts קובץ

צומת ראשי. js //הפעל את קובץ js

הטרמינל מציג רק ערך מאפיין אחד מהסוג החדש 'NewPerson' שצוין באובייקט שלו.

דוגמה 3: החלת ה-'Omit' הקלד עם Function()

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

קוד

מִמְשָׁק מִשׁתַמֵשׁ {

שֵׁם : חוּט ;

גיל : מספר ;

מקום : חוּט ;

}

הפונקציה getUserDetails ( משתמש חדש : לְהַשְׁמִיט < מִשׁתַמֵשׁ, 'שֵׁם' | 'מקום' > ) : מספר {

לַחֲזוֹר ( משתמש חדש. גיל )

}

const משתמש חדש : מִשׁתַמֵשׁ = {

גיל : 40 ,

שֵׁם : 'אוֹ' ,

מקום : 'איסלמבאד'

} ;

const פרטי המשתמש = getUserDetails ( משתמש חדש ) ;

לְנַחֵם. עֵץ ( פרטי המשתמש ) ;

קטע הקוד שלמעלה:

  • ראשית צור ממשק ' מִשׁתַמֵשׁ ' בעל מאפיינים של שם, גיל ומיקום.
  • לאחר מכן, הגדר שם פונקציה ' getUserDetails() ' המשמיט את המאפיינים 'שם' ו'מיקום' מסוג 'משתמש חדש' של הממשק הקיים, כלומר, 'משתמש'.
  • פונקציה זו מחזירה ערך מספרי כלומר 'גיל' של המשתמש.
  • כעת, צור אובייקט של ' משתמש חדש ' של ממשק 'משתמש' כדי לציין את ערכי המאפיינים שלו.
  • לאחר מכן, קרא לפונקציה המוגדרת 'getUserDetails()' והעבירה את האובייקט 'newuser' כפרמטר שלו בעזרת ה-' פרטי המשתמש 'קבוע.
  • לבסוף, הצג את הפלט 'userDeatils' באמצעות ' console.log() ' שיטה.

תְפוּקָה

tsc main. js //Compile.ts קובץ

צומת ראשי. js //הפעל את קובץ js

הטרמינל מציג רק את ' גיל ' ערך המאפיין כי 'שם' ו'מיקום' אינם נכללים דרך סוג השירות 'השמט'.

סיכום

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