ללמוד TypeScript מאפס - מדריך מעשי¶
TypeScript היא לא שפה נפרדת מ-JavaScript - היא JavaScript עם שכבת בדיקת טיפוסים (type checking) שנוספת מעליה. זו גם בדיוק השפה שהקורס הבסיסי שלנו לפיתוח צד לקוח מלמד אחרי JavaScript. הנה מדריך מעשי איך בפועל מתחילים ללמוד אותה מאפס.
התנאי ההכרחי - קודם JavaScript¶
אם אתם עדיין לא מכירים JavaScript, זו לא נקודת ההתחלה הנכונה. TypeScript מוסיפה טיפוסים על גבי JavaScript, אז כל מה שרלוונטי ל-JavaScript - משתנים, פונקציות, מערכים, DOM - צריך להיות מוכר לכם כבר. ללמוד TypeScript בלי לדעת JavaScript זה כמו ללמוד לתקן שגיאות דקדוק בשפה שאתם לא דוברים.
מה מתקינים לפני שמתחילים¶
כדי לכתוב TypeScript צריך Node.js מותקן (כדי להריץ את הכלים), ואת חבילת ה-TypeScript עצמה שמתקינים בעזרת npm. VS Code הוא העורך המומלץ ביותר כי יש לו תמיכה מובנית מעולה ב-TypeScript - הוא מציג שגיאות טיפוסים תוך כדי כתיבה, עוד לפני שהרצתם את הקוד בכלל. זו בעצם הסיבה המרכזית שאנשים עוברים ל-TypeScript - לתפוס שגיאות מוקדם, לא בזמן ריצה.
תוכנית שבוע ראשון¶
- ימים 1-2: הצהרת טיפוסים בסיסית - איך מוסיפים string, number ו-boolean למשתנים ולפרמטרים של פונקציות. תמירו קובץ JavaScript קטן שכתבתם בעבר ל-TypeScript ותוסיפו טיפוסים שורה אחר שורה.
- ימים 3-4: טיפוסים למערכים ולאובייקטים, וממשקים (interfaces) - הדרך להגדיר "צורה" של אובייקט, למשל שכל "משתמש" חייב לכלול שם ומייל.
- ימים 5-7: Union types (איחוד טיפוסים, למשל משתנה שיכול להיות string או number) וטיפוסים אופציונליים. כאן מתחילים להרגיש למה TypeScript כל כך שימושית - היא מכריחה אתכם לחשוב מראש על כל המקרים האפשריים במקום לגלות אותם בזמן ריצה.
למה בכלל להתאמץ - הבעיה ש-TypeScript פותרת¶
ב-JavaScript רגילה, אם פונקציה מצפה למספר וקיבלה בטעות מחרוזת, זה יתגלה רק כשהקוד ירוץ - ולפעמים רק בפרודקשן, אצל משתמש אמיתי. TypeScript תופסת את זה כבר בזמן הכתיבה, לפני שהקוד בכלל רץ. ההשקעה בלימוד שלה משתלמת בדיוק ברגע שפרויקט גדל ומספר הקבצים עולה - אז שגיאות טיפוסים שהיו נעלמות ב-JavaScript רגילה נתפסות מיד.
הפרויקט הראשון שכדאי לבנות¶
הדרך הכי טובה להתחיל היא לא פרויקט חדש מאפס, אלא להמיר פרויקט JavaScript קטן שכבר בניתם - למשל רשימת משימות - ל-TypeScript. תוסיפו טיפוס לכל משתנה ולכל פונקציה, ותגדירו interface לכל אובייקט שאתם מנהלים (כמו "משימה" עם כותרת, סטטוס ותאריך). זה מלמד הרבה יותר מפרויקט חדש, כי אתם רואים בדיוק איפה TypeScript הייתה תופסת לכם באגים שה-JavaScript המקורית לא תפסה.
הטעויות הכי נפוצות של מתחילים ב-TypeScript¶
- להשתמש ב-any בכל מקום שלא מבינים. any מבטל את כל היתרון של TypeScript - זה בעצם אומר לקומפיילר "אל תבדוק את זה". זה מפתה כפתרון מהיר, אבל הופך את הקוד בחזרה ל-JavaScript לא בטוחה תוך זמן קצר.
- לנסות ללמוד generics מוקדם מדי. זהו נושא מתקדם יחסית שמאפשר לכתוב טיפוסים גמישים וניתנים לשימוש חוזר. מתחילים לרוב לא צריכים אותו בחודש הראשון - עדיף להתמקד קודם בטיפוסים בסיסיים וב-interfaces.
- להיבהל משגיאות טיפוסים ולהתעלם מהן. שגיאת טיפוס אדומה בעורך היא בדיוק הסיבה שבחרתם ב-TypeScript - היא חוסכת לכם באג עתידי. תתייחסו אליה כמו הודעת אזהרה חשובה, לא כמו מכשול מעצבן.
- לחשוב שצריך להמיר הכל ל-TypeScript ביום אחד. אפשר ומקובל להמיר פרויקט בהדרגה, קובץ אחרי קובץ.
איך זה מתחבר לריאקט¶
אם אתם מתכננים ללמוד ריאקט, TypeScript ו-React הם שילוב כמעט סטנדרטי בתעשייה כיום - קומפוננטות עם טיפוסים מוגדרים היטב הופכות פרויקט גדול להרבה יותר קל לתחזוקה. ההשקעה בלימוד TypeScript עכשיו תשתלם ישירות כשתגיעו לריאקט.
הקורס הבסיסי שלנו לפיתוח צד לקוח מלמד JavaScript, TypeScript וריאקט בסדר הזה בדיוק, בעברית ובחינם - כדי שכל שלב יבנה טבעי על הקודם.
לסיכום¶
TypeScript היא לא שפה חדשה שצריך ללמוד מאפס - היא שכבת ביטחון מעל JavaScript שאתם כבר מכירים. תתחילו מטיפוסים בסיסיים, תמירו פרויקט ישן במקום לבנות חדש, ותתייחסו לכל שגיאת טיפוס כמתנה ולא כמכשול.
יש לכם שאלות בדרך? בואו לדבר בקהילה.