שיעורי מודול (1/2)
סוגים וביאורים פרימיטיביים
TypeScript הוא על מודפס של JavaScript, כלומר הוא מוסיף תחביר סוג סטטי על גבי JavaScript קיים. בזמן ריצה, כל קוד TypeScript מורכב ל-JavaScript טהור והסוגים נעלמים לחלוטין במהלך תהליך הבנייה.
הודות ל-TypeScript, אתה יכול לתפוס שגיאות לפני שהקוד פועל בדפדפן, מה שהופך את תהליך הפיתוח שלך לחזק, בטוח וניתן להרחבה יותר.
טיפוסים פרימיטיביים
TypeScript תומך בסוגי JavaScript הפרימיטיביים הסטנדרטיים:
string: מייצג רצפים של תווים (למשל'Alice',"Hello").number: מייצג ערכים מספריים, גם מספרים שלמים וגם עשרונים (למשל42,3.14).boolean: מייצג ערכי אמת (trueאוfalse).nullו-undefined: מייצגים היעדר מכוון או לא מכוון של ערך.
const username: string = 'Alice';
const score: number = 100;
const isActive: boolean = true;ביאורים והסקת משתנים
ב-TypeScript, אנו יכולים להוסיף הערת סוג באמצעות נקודתיים (:) ואחריו הסוג.
אם תנסה להקצות ערך מסוג אחר (לדוגמה, הקצאת מחרוזת ל-age המוגדרת כ-number), המהדר של TypeScript יעלה מיד שגיאה לפני שהקוד יפעל.
הסכנה של סוג any
הסוג any הוא פתח מילוט מיוחד שאומר ל-TypeScript לבטל לחלוטין את בדיקת הסוג עבור המשתנה הזה.
let data: any = 42;
data = 'Hello'; // No error!
data.nonExistentMethod(); // No error at compile time, but it crashes at runtime!השימוש ב-any שולל את כל היתרונות הבטיחותיים של השימוש ב-TypeScript. זה נחשב לתרגול גרוע וכמעט תמיד יש להימנע ממנו בקוד הייצור.
הערות פונקציות וסוג void
אנו יכולים להעיר גם את הפרמטרים וגם את ערך ההחזר של פונקציה:
function calculateTax(price: number, taxRate: number): number {
return price * taxRate;
}אם פונקציה לא מחזירה שום ערך (לדוגמה, היא עושה רק console.log), סוג ההחזר שלה הוא void:
function logMessage(message: string): void {
console.log(message);
}נסה זאת בעצמך
תרגיל 1: משתנים מוקלדים
הכריז על שלושה משתנים שהוקלדו במפורש: שם משתמש כמחרוזת עם הערך 'אליס', ציון כמספר עם ערך 100, ו-isActive כ-boolean עם הערך true. אל תשתמש בשום סוג.
הצג רמז
השתמש בתחביר : string, : number ו- : boolean אחרי השם של כל משתנה.
הפתרון זמין לאחר 3 ניסיונות
תרגיל 2: פונקציית ברכה
צור פונקציה בשם greet שמקבלת שם פרמטר מסוג מחרוזת ומחזירה מחרוזת בפורמט 'Hello,' ואחריו השם. ציין במפורש גם את סוג הפרמטר וגם את סוג ההחזרה.
הצג רמז
הכריזו על הפונקציה כפונקציה greet(שם: מחרוזת): string { ... } והחזרו את ההודעה.
הפתרון זמין לאחר 3 ניסיונות
תרגיל 3: ממיר טמפרטורה
הכריז על פונקציה בשם celsiusToFahrenheit שמקבלת פרמטר צלזיוס מסוג מספר ומחזירה את הטמפרטורה המקבילה במעלות פרנהייט (מספר). הנוסחה היא צלזיוס * 9 / 5 + 32. ציין במפורש גם את סוג הפרמטר וגם את סוג ההחזרה.
הצג רמז
הכפלו צלזיוס ב-9, חלקו ב-5, הוסיפו 32 והחזרו את התוצאה עם סוג החזרת מספר בפונקציה.
הפתרון זמין לאחר 3 ניסיונות
תרגיל 4: חישוב הנחה
צור פונקציה בשם calculateDiscount שמקבלת מחיר פרמטר של מספר סוג ופרמטר הנחה אחוז ממספר סוג, ומחזירה את המחיר המוזל הסופי כמספר. ציין במפורש גם את סוגי הפרמטרים וגם את סוג ההחזרה.
הצג רמז
הפחת את אחוז ההנחה חלקי 100 מ-1, ולאחר מכן הכפל במחיר. הקפד להוסיף הערות לפרמטרים ולהחזיר ערך כמספר.
הפתרון זמין לאחר 3 ניסיונות