הסבר פשוט על טיפוסי TypeScript

TypeScript מסתמכת על מערכת טיפוסים (type system). השליטה בה היא הצעד הראשון שלכם לכתיבת קוד טוב יותר.

טיפוסים בסיסיים

TypeScript משתמשת בטיפוסים דומים לטיפוסים הראשוניים (primitives) של JavaScript: • string: עבור טקסט. • number: עבור כל המספרים (שלמים ועשרוניים). • boolean: עבור ערכי אמת (true) או שקר (false).

הסקת טיפוסים (Type Inference)

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

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

מערכים ו-Tuples

מערכים (Arrays) מחזיקים מספר ערכים מאותו טיפוס. • דוגמה: let tags: string[] = ["ts", "js"];

Tuples הם מערכים בעלי אורך קבוע וטיפוסים ספציפיים לכל מיקום. • דוגמה: let user: [string, number] = ["Ramesh", 31];

Union Types

השתמשו ב-union types כאשר ערך יכול להיות ביותר מטיפוס אחד. • דוגמה: let id: string | number = "abc123";

טיפוסים מיוחדים

ארבעה טיפוסים שנוטים לבלבל מתחילים:

  1. any זה מכבה את בדיקת הטיפוסים. זה גורם לקוד שלכם להתנהג כמו JavaScript רגיל. השתמשו בזה רק כפתרון אחרון.

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

  3. void השתמשו בזה עבור פונקציות שאינן מחזירות ערך.

  4. never השתמשו בזה עבור פונקציות שלעולם לא מסתיימות, כמו כאלו שזורקות שגיאות או מריצות לולאות אינסופיות.

סיכום לסדר העבודה שלכם:

• השתמשו בטיפוסים ראשוניים (primitives) עבור רוב הנתונים. • השתמשו בהסקה (inference) כדי לשמור על קוד נקי. • השתמשו ב-union types עבור קלטים גמישים. • הימנעו מ-any. • השתמשו ב-unknown במקום ב-any כשאינכם בטוחים.

מקור: https://dev.to/ramesh_s_a8f0867d239e927c/typescript-types-demystified-simple-types-special-types-and-type-inference-5bf0