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

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

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

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

מִמְשָׁק משתמש { 
שֵׁם: חוּט;
גיל: מספר;
אימייל: חוּט;
}

משתמש ב סוג שירות חלקי, תוכל ליצור סוג חדש עם כל המאפיינים של ממשק המשתמש מוגדרים כאופציונליים:

סוּג OptionalUser = חלקי

כעת, אתה יכול ליצור מופע מסוג OptionalUser עם מאפיינים מסוימים בלבד שהוגדרו:

const משתמש: OptionalUser = { שם: "ג'ון" };

אתה עלול להיתקל במצבים שבהם עליך ליצור אובייקט עם מאפיינים אופציונליים מסוימים. זה יכול להועיל

instagram viewer
במיוחד בעת בניית צורות שיש להם מספר שדות, שכן ייתכן שלא כולם נדרשים ובמקרים כאלה, שימוש חלקי עשוי להיות חיוני.

סוג השירות Pick של TypeScript יכול לעזור לך ליצור סוג חדש על ידי בחירת רק תת-קבוצה של מאפיינים מסוג קיים. זה שימושי כאשר אתה צריך לצמצם אובייקט גדול יותר רק לכמה מאפיינים הנדרשים או אם אתה רוצה לאכוף הקלדה קפדנית על המאפיינים שאתה צריך.

מִמְשָׁק משתמש { 
מקום: חוּט;
גיל: מספר;
אימייל: חוּט;
}

סוּג PersonWithoutEmail = בחר'מקום' | 'גיל'>;

const אדם: PersonWithoutEmail = {
מקום: 'ארה"ב',
גיל: 30
};

בדוגמה זו, ממשק בשם "משתמש" מגדיר שלושה מאפיינים: אימייל, גיל ומיקום.

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

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

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

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

מִמְשָׁק משתמש {
שם לקריאה בלבד: חוּט;
גיל לקריאה בלבד: מספר;
דוא"ל לקריאה בלבד: חוּט;
}

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

סוּג ReadonlyUser = קריאה בלבד

ניתן לציין ערכי מאפיינים בעת יצירת מופע ReadonlyUser::

const משתמש: ReadonlyUser = { 
שֵׁם: "ג'ון",
גיל: 30,
אימייל: "[email protected]"
};

כאשר אתה מסמן את המאפיינים של אובייקט כקריאה בלבד, הניסיון לשנות את הערכים של מאפיינים אלה הופך לבלתי אפשרי:

user.name = "ג'יין";
// שגיאה: לא ניתן להקצות ל'שם' מכיוון שהוא מאפיין לקריאה בלבד.

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

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

מִמְשָׁק משתמש {
שֵׁם: חוּט;
מקום: מספר;
כתובת: חוּט;
}

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

const משתמש: RequiredUser = { 
שֵׁם: "פלוני אלמוני",
מקום: "ארה"ב",
כתובת: "קנזס 9745-0622"
};

שימוש בסוג השירות Required מבטיח שכל המאפיינים הנדרשים נמצאים בתוך אובייקט.

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

מִמְשָׁק אדם {
מקום: חוּט;
גיל: מספר;
אימייל: חוּט;
}

סוּג PersonWithoutEmail = השמט'אימייל'>;
const אדם: PersonWithoutEmail = { מיקום: "ארה"ב"; גיל: 30 };

לממשק האדם יש שלושה מאפיינים: גיל, מיקום ודואר אלקטרוני. הסוג PersonWithoutEmail משתמש בסוג עזר Omit כדי לכלול את כל המאפיינים של אובייקט Person, מלבד דואר אלקטרוני. לאחר מכן תוכל ליצור מופע מהסוג החדש הזה, מבלי לציין ערך עבור מאפיין דוא"ל.

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

ניתן להשתמש בסוג השירות Record כדי להגדיר סוג אובייקט שעבורו המפתחות והערכים הם מסוג מסוים. ההגדרה שלו היא:

סוּג תקליטמשתרע keyof כל, T> = { [P ב ק]: ת;};

זה משייך את הסוג T לערך של כל מפתח, בעוד K הוא איחוד של מפתחות מכל סוג שהוא. לאובייקט המתקבל סוג המאפיין שלו P מוגדר ל-T.

שקול את התרחיש של סוג אובייקט עם מקשי מחרוזת וערכים מספריים. במקרה כזה, אתה יכול להחיל את סוג כלי שירות להקליט כפי ש:

סוּג MyRecord = Record<חוּט, מספר>;

const myObject: MyRecord = {
"פו": 1,
"בַּר": 2,
"באז": 3,
}

דוגמה זו מציינת את MyRecord כסוג אובייקט עם מקשי מחרוזת וערכים מספריים. האובייקט myObject מגלם דוגמה מסוג זה, כאשר המקשים "foo", "bar" ו-"baz" מוקצים לערכים המתאימים להם.

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