כיצד להשתמש ב-Enums ב-TypeScript שלב אחר שלב

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

מה זה Enum?

enum (קיצור של "enumeration") הוא סוג נתונים מיוחד ב-TypeScript המאפשר לך להגדיר קבוצה של קבועים בעלי שם. קבועים בעלי שם אלה יכולים לייצג ערכי מספרים או מחרוזת, מה שהופך את הקוד שלך לתיאורי יותר ונוטה פחות לשגיאות.

סוגי Enums ב-TypeScript

ישנם שלושה סוגים של enums ב-TypeScript:

  • רשימות מספריות
  • תקצירי מחרוזת
  • Enums הטרוגניים

רשימות מספריות

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

דוגמה מספרית בסיסית של מספרים

להלן דוגמה פשוטה של ​​מנה מספרית:

enum Direction {
  Up,
  Down,
  Left,
  Right
}

let move: Direction = Direction.Up;
console.log(move); // Output: 0

בדוגמה זו, ה-Enum Direction כולל ארבעה איברים: Up, Down, Left ו-Right. כברירת מחדל, Up מוקצה הערך 0, Down הוא 1, וכן הלאה. ניתן גם לציין ערכים מספריים מותאמים אישית עבור החברים.

Enum מספרי עם ערכים מותאמים אישית

אתה יכול להקצות ערכים מותאמים אישית ל-enum חברים:

enum Status {
  New = 1,
  InProgress,
  Done = 5,
  Cancelled
}

console.log(Status.New); // Output: 1
console.log(Status.InProgress); // Output: 2
console.log(Status.Done); // Output: 5
console.log(Status.Cancelled); // Output: 6

בדוגמה זו, New מוגדר ל-1, InProgress מוגדר אוטומטית ל-2, Done מוגדר ל-5, ו-מבוטל מוגדר אוטומטית ל-6.

תקצירי מחרוזת

Enums של מחרוזת הם סוג נוסף של enum שבו כל איבר מאותחל עם מחרוזת מילולית, מה שהופך אותם לקריאה יותר וקל יותר לנפות באגים.

דוגמה ל- Basic String Enum

להלן דוגמה ל-enum מחרוזת:

enum Direction {
  Up = "UP",
  Down = "DOWN",
  Left = "LEFT",
  Right = "RIGHT"
}

let move: Direction = Direction.Left;
console.log(move); // Output: "LEFT"

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

Enums הטרוגניים

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

דוגמה הטרוגנית של Enum

להלן דוגמה למספר הטרוגני:

enum MixedEnum {
  Yes = "YES",
  No = 0,
  Maybe = 1
}

console.log(MixedEnum.Yes); // Output: "YES"
console.log(MixedEnum.No); // Output: 0

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

Enum Use Cases

תקצירים מועילים במגוון תרחישים:

  • מייצג קבוצה של קבועים קשורים כמו כיוונים (למעלה, למטה, שמאלה, ימינה).
  • הגדרת מצבים במכונת מצב (New, InProgress, Done, Cancelled).
  • שימוש בהם בהצהרות חילופי מקרים לקריאות טובה יותר.

Enum בדוגמה של Switch-Case

שימוש ב-enums בהצהרת switch-case משפר את קריאת הקוד ומקל על ניהול המצבים.

enum Status {
  New,
  InProgress,
  Done,
  Cancelled
}

function getStatusMessage(status: Status): string {
  switch (status) {
    case Status.New:
      return "The task is new.";
    case Status.InProgress:
      return "The task is in progress.";
    case Status.Done:
      return "The task is completed.";
    case Status.Cancelled:
      return "The task is cancelled.";
    default:
      return "Unknown status.";
  }
}

console.log(getStatusMessage(Status.InProgress)); // Output: "The task is in progress."

בדוגמה זו, הצהרת ה-switch-case קריא יותר ונוטה פחות לשגיאות, הודות לשימוש ב-enums.

מַסְקָנָה

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