Menu
Coddy logo textTech

טיפוסים מילוליים

חלק מהיחידה מבוא ל-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 יזהה שגיאות הקלדה וערכים לא תקינים בזמן הקומפילציה, וכך הקוד שלך יהיה אמין יותר מאשר בשימוש בטיפוסי מחרוזת כלליים.

challenge icon

אתגר

קל

צרו כינוי טיפוס בשם 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
// קראו לפונקציות והדפיסו את התוצאות
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה מבוא ל-TypeScript

תרגלו בעצמכם: TypeScript אונליין