טיפוסים מילוליים
חלק מהיחידה מבוא ל-TypeScript במסלול ה-JavaScript של Coddy. שיעור 33 מתוך 73.
טיפוסים מילוליים מאפשרים לך להגביל משתנה לערכים מדויקים וספציפיים במקום לקטגוריות רחבות. במקום לקבל כל מחרוזת, אפשר להגביל אותו רק ל־"left", "right", "up" או "down".
טיפוס מילולי משתמש בערך המדויק בתור הטיפוס עצמו.
אפשר ליצור טיפוסים מילוליים עבור מחרוזות, מספרים או ערכים בוליאניים:
let direction: "left" = "left"; // Only "left" is allowed
let count: 42 = 42; // Only the number 42 is allowed
let isReady: true = true; // Only true is allowedטיפוסים מילוליים נעשים רבי עוצמה בשילוב עם טיפוסי איחוד, וכך יוצרים קבוצה מוגדרת של ערכים מותרים. זה מתאים במיוחד לתרחישים כמו כיוונים, קודי מצב או אפשרויות תצורה:
type Direction = "left" | "right" | "up" | "down";
type Status = "pending" | "approved" | "rejected";
let playerMove: Direction = "up"; // Valid
let orderStatus: Status = "pending"; // Valid
// let invalid: Direction = "diagonal"; // Error!הגישה הזו מעניקה לך את הגמישות של כמה אפשרויות תוך שמירה על בטיחות טיפוסים קפדנית. TypeScript יזהה שגיאות הקלדה וערכים לא תקינים בזמן הקומפילציה, וכך הקוד שלך יהיה אמין יותר מאשר בשימוש בטיפוסי מחרוזת כלליים.
אתגר
קלצרו כינוי טיפוס בשם Direction עבור הטיפוסים המילוליים "left" | "right" | "up" | "down".
צרו כינוי טיפוס בשם GameState עבור הטיפוסים המילוליים "menu" | "playing" | "paused" | "gameover".
צרו כינוי טיפוס בשם Difficulty עבור הטיפוסים המילוליים "easy" | "medium" | "hard".
כעת הצהירו על המשתנים הבאים באמצעות כינויי הטיפוס שלכם:
- הצהירו על משתנה בשם
playerDirectionמסוגDirectionוהקצו לו את הערך"up" - הצהירו על משתנה בשם
currentStateמסוגGameStateוהקצו לו את הערך"playing" - הצהירו על משתנה בשם
selectedDifficultyמסוגDifficultyוהקצו לו את הערך"medium"
צרו פונקציה בשם movePlayer שמקבלת פרמטר בשם direction מסוג Direction ומחזירה string. הפונקציה צריכה להחזיר הודעה בתבנית "Moving [direction]".
צרו פונקציה נוספת בשם updateGameState שמקבלת פרמטר בשם state מסוג GameState ומחזירה string. הפונקציה צריכה להחזיר הודעה בתבנית "Game state: [state]".
קראו לפונקציות שלכם עם המשתנים שיצרתם והדפיסו את התוצאות:
- קראו ל־
movePlayerעםplayerDirectionוהדפיסו את התוצאה - קראו ל־
updateGameStateעםcurrentStateוהדפיסו את התוצאה - הדפיסו את הערך של
selectedDifficulty
הדפיסו כל תוצאה בשורה נפרדת, לפי הסדר שצוין לעיל.
נסו בעצמכם
// TODO: כתבו את הקוד שלכם כאן
// צרו כינויי טיפוסים עבור Direction, GameState ו-Difficulty
// הכריזו על משתנים באמצעות כינויי הטיפוסים שלכם
// צרו את הפונקציות movePlayer ו-updateGameState
// קראו לפונקציות והדפיסו את התוצאותהשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה מבוא ל-TypeScript
1תחילת העבודה עם TS
מה זה TypeScript?למה להשתמש ב-TypeScript?קוד TypeScript הראשון שלךתהליך הקומפילציה ושגיאותסיכום: מבוא ל-TS4עבודה עם פונקציות
הגדרת טיפוסים לפרמטרים ולערכי החזרההגדרת טיפוסים לפונקציות חץטיפוס ההחזרה 'void'פרמטרים אופציונליים עם '?'ערכי ברירת מחדל לפרמטריםהגדרת טיפוסים לפרמטרים מסוג Restהגדרת טיפוסי פונקציותסיכום: בניית פונקציות עם טיפוסים2סוגי ליבה
טיפוסים בסיסיים: str, num, booleanהטיפוס 'any': מפלטהטיפוס 'unknown'עבודה עם 'null' ו-'undef'הסקת טיפוסים בפעולההצהרות טיפוסים מפורשותסיכום: תרגול בסוגי ליבה5טיפוסים: כינויים, איחודים וחיתוכים
כינויי טיפוס לטיפוסים פרימיטיבייםטיפוסי איחוד ('|')עבודה עם טיפוסי איחודטיפוסים מילולייםטיפוסי חיתוך ('&')שילוב כינויי טיפוסיםסיכום: שילובים מתקדמים של טיפוסים3מבני נתונים: מערכים וטאפלים
מערכים מטיפוסיםהמשנה 'readonly' למערכיםמהו טאפל?הכרזה על טאפל וגישה אליופירוק טאפלטאפלים לקריאה בלבדמערכים מטיפוסים רב־ממדייםאופרטור Spread עם מערכיםסיכום: מערכים וטאפליםתרגלו בעצמכם: TypeScript אונליין