אישורי טיפוסים
חלק מהיחידה מבוא ל-TypeScript במסלול ה-JavaScript של Coddy. שיעור 68 מתוך 73.
לפעמים אין ל-TypeScript מספיק מידע כדי לקבוע את הטיפוס המדויק של ערך, אבל לך, כמפתח, יש מידע נוסף על מה הערך הזה באמת. הצהרות טיפוס מאפשרות לך לומר ל-TypeScript: "סמוך עליי, אני יודע שהערך הזה הוא מטיפוס מסוים."
TypeScript מספקת שתי תחבירי הצהרת טיפוס. תחביר as הוא הגישה הנפוצה יותר:
let data: unknown = '{"name": "John", "age": 30}';
let user = data as string;אפשר להשתמש גם בתחביר של סוגריים זוויתיים, אף שהוא פחות נפוץ ב-TypeScript מודרני:
let data: unknown = '{"name": "John", "age": 30}';
let user = <string>data;אתגר
קלצרו פונקציה שמעבדת נתונים מסימולציה של API חיצוני. תעבדו עם ערכים מסוג unknown ותשתמשו בהצהרות טיפוסים כדי לגשת למאפיינים שלהם בבטחה.
צרו משתנה apiResponse מסוג unknown והשימו בו את מחרוזת ה-JSON הבאה:
{"userId": 42, "username": "alice_dev", "isActive": true}צרו פונקציה בשם processUserData ש:
- מקבלת פרמטר
dataמסוגunknown - משתמשת בהצהרת טיפוס כדי להתייחס אל
dataבתורstring - מנתחת את מחרוזת ה-JSON באמצעות
JSON.parse() - משתמשת בהצהרת טיפוס נוספת כדי להתייחס לתוצאה המנותחת בתור אובייקט עם המאפיינים
userId(number),username(string) ו-isActive(boolean) - מחזירה מחרוזת מעוצבת:
"User [userId]: [username] (Active: [isActive])" - כוללת טיפוס החזרה מפורש של
string
צרו נתוני בדיקה נוספים:
- צרו את
secondApiResponseמסוגunknownעם מחרוזת ה-JSON:{"userId": 15, "username": "bob_admin", "isActive": false} - צרו את
thirdApiResponseמסוגunknownעם מחרוזת ה-JSON:{"userId": 99, "username": "charlie_user", "isActive": true}
בדקו את הפונקציה והדפיסו את הפלטים הבאים:
- קראו ל-
processUserDataעםapiResponseוהדפיסו את התוצאה - קראו ל-
processUserDataעםsecondApiResponseוהדפיסו את התוצאה - קראו ל-
processUserDataעםthirdApiResponseוהדפיסו את התוצאה
נסו בעצמכם
// צרו את המשתנים עבור תגובות ה-API
const apiResponse: unknown = '{"userId": 42, "username": "alice_dev", "isActive": true}';
const secondApiResponse: unknown = '{"userId": 15, "username": "bob_admin", "isActive": false}';
const thirdApiResponse: unknown = '{"userId": 99, "username": "charlie_user", "isActive": true}';
// TODO: צרו כאן את הפונקציה processUserData
// בדקו את הפונקציה והדפיסו את התוצאות
console.log(processUserData(apiResponse));
console.log(processUserData(secondApiResponse));
console.log(processUserData(thirdApiResponse));השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה מבוא ל-TypeScript
1תחילת העבודה עם TS
מה זה TypeScript?למה להשתמש ב-TypeScript?קוד TypeScript הראשון שלךתהליך הקומפילציה ושגיאותסיכום: מבוא ל-TS4עבודה עם פונקציות
הגדרת טיפוסים לפרמטרים ולערכי החזרההגדרת טיפוסים לפונקציות חץטיפוס ההחזרה 'void'פרמטרים אופציונליים עם '?'ערכי ברירת מחדל לפרמטריםהגדרת טיפוסים לפרמטרים מסוג Restהגדרת טיפוסי פונקציותסיכום: בניית פונקציות עם טיפוסים2סוגי ליבה
טיפוסים בסיסיים: str, num, booleanהטיפוס 'any': מפלטהטיפוס 'unknown'עבודה עם 'null' ו-'undef'הסקת טיפוסים בפעולההצהרות טיפוסים מפורשותסיכום: תרגול בסוגי ליבה5טיפוסים: כינויים, איחודים וחיתוכים
כינויי טיפוס לטיפוסים פרימיטיבייםטיפוסי איחוד ('|')עבודה עם טיפוסי איחודטיפוסים מילולייםטיפוסי חיתוך ('&')שילוב כינויי טיפוסיםסיכום: שילובים מתקדמים של טיפוסים3מבני נתונים: מערכים וטאפלים
מערכים מטיפוסיםהמשנה 'readonly' למערכיםמהו טאפל?הכרזה על טאפל וגישה אליופירוק טאפלטאפלים לקריאה בלבדמערכים מטיפוסים רב־ממדייםאופרטור Spread עם מערכיםסיכום: מערכים וטאפליםתרגלו בעצמכם: TypeScript אונליין