
age: number, ומכניסים אליו מספר. ניסיון להכניס מחרוזת, כמו age = "hello", מציג שגיאה גם בעורך וגם בחלון ה-Problems, עם ההודעה שמחרוזת אינה ניתנת להשמה לטיפוס number.let age: number = 20. ההתנהגות זהה, והשגיאה מופיעה כשמנסים לשנות לערך מטיפוס אחר.let age = 20 בלי טיפוס, TypeScript מבינה שהמשתנה הוא מסוג number וגם אז לא מאשרת השמה של מחרוזת. בגרסאות מוקדמות של השפה זה לא היה כך.any מקבל כל ערך, כמו ב-JavaScript. משתנה שהוגדר בלי טיפוס ובלי אתחול מתנהג בדיוק כך, ולכן אין בו שגיאות.number | string, והוא יקבל רק את הטיפוסים האלה. השמה של true (בוליאני) תיכשל, אלא אם מוסיפים גם boolean לרשימה. בפועל משתמשים בכך לעיתים רחוקות, בדרך כלל עם שני טיפוסים לכל היותר.tsc -w) ועם Live Server. בעבודה עם React או Angular ההודעות יופיעו בסביבת הפיתוח.any ומהשארת משתנה בלי טיפוס, כי כך חוזרים בפועל ל-JavaScript ומאבדים את הסיבה לעבוד עם TypeScript. המטרה היא Strongly Typed: רק הטיפוס שהוגדר נכנס למשתנה.הטקסט המלא של הדקות הראשונות בהרצאה «סוגי משתנים ב-TypeScript» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אנחנו רוצים לראות את השפה המעניינת הזאת טייפ סקריפט ומה אפשר לעשות איתה, איזה אלמנטים קיימים בה. הדבר הראשון שאנחנו הולכים לראות זה פשוט יצירת משתנים, דבר הכי פשוט בעולם.
כאשר משתנה, יכול שיהיה לו טיפוס נתונים, מה שלא קיים לנו בג'אווה סקריפט. אז בואו ניצור משתנה כמו שהיה לנו מקודם, Age נניח, ונגיד שהסוג שלו זה Number.
עכשיו אני בא ואני יכול להכניס מספר בואו ננסה רגע בואו ננסה להדפיס אותו קודם כל דוקיומנט רייט ו-age באמת נדפיס אותו עם interpolation נראה לי יותר פשוט כי אני מיד רוצה לרדת שורה אחריו ויש לי פה את ה-age בואו רגע נריץ open with live server וכמובן שכחתי
להריץ את הקומפיילר rtsc-wgo והנה יש לנו פה את ה-h הכל בסדר עכשיו מה שמעניין אותי לעשות זה מה קורה אם אני בא ל-h ואני אומר h שווה הלואו בעצם שימו לב מה המערכת נותנת לי נותנת לי שגיאה על הדבר הזה היא אומרת לי לא יש לך פה שגיאה ואני יכול לראות אותה גם כאן יש לי פה error h שווה הלואו אתם רואים את השגיאה פה ב-problems
טייפ סטורינג איז נוט אסיינבל טו טייפ נמבר וזאת כמובן שגיאה אצלנו בקוד כאשר אנחנו נעבוד נניח עם ריאקט או אנגולר אז אנחנו נוכל לראות שהמערכת נותנת לנו גם כאן את הודעת השגיאה כרגע היא לא מציינת את זה אם היינו מריצים את זה לדוגמה באתר של הטייפ סטריט לאנג אז היא כן הייתה מראה לנו שבדיוק בנקודה הזאת קיימת לנו שגיאה אבל מבחינתנו זה ארור
ובואו ניפטר מזה וכעת הכל בסדר אנחנו לא רואים פה שום שגיאה אין לנו פרובלמס אנחנו יכולים לראות שהכל רץ כמו שצריך נעשה אם אנחנו כן נעשה את זה אנחנו כן נראה שאתה רץ מפני שהוא משאיר את הדבר האחרון שהיה או שג'אווה סקריפט כן מאשרת להריץ את הדבר הזה כי בג'אווה סקריפט הרי
אין טיפוסי נתונים אז הנה יש לנו שיטה אחת אבל חשוב לנו להכיר כל מיני שיטות ליצירת משתנים בטייפ סקריפט לדוגמה אנחנו יכולים להגדיר let h.2 number ומיד להכניס לתוכו ערך.
בואו ננסה להציג אותו ובואו ננסה לשנות אותו h שווה הלו שימו לב כבר אני רואה פה שגיאה ואני רואה פה שגיאה וברגע שכלומר כל מה שעשינו כאן זה איחדנו את שתי השורות האלה יש לנו פה את חול באותה השורה זה בסדר.
וגם כן arrow אז הכל עובד כמו שצריך אבל משהו מעניין נוסף שכדאי לראות זה מה קורה כאשר אנחנו לא מגדירים נקודותיים number אלא פשוט let h שווה 20 האם טייפ סקריפט תדע שהדבר הזה זה number אז למעשה ברגע שהתחלנו אותו מגרסה מסוימת של טייפ סקריפט היא יודעת שהדבר הזה המשתנה הזה הוא מהסוג
בגרסאות מוקדמות יותר זה לא היה, בגרסה מסוימת והלאה אנחנו כבר רואים שהוא לא מאשר לי לעשות את זה. אינשגיאה, אינשגיאה זה כמובן ארור. אז אם יש לנו אתחול מיידי אנחנו לא חייבים להגדיר מה סוג הנתונים של המשתנה.
זה עוד יתרון שאנחנו יכולים להשתמש איתו. עכשיו, מה קורה אם אני רוצה סוג נתונים שמותר לי להכניס אליו כל מה שבא לי? בואו נגדיר לדוגמא ניקניים, ונגדיר שהניקניים הוא מסוג Any.
Any זה אומר, כמו JavaScript, אין לו טיפוס, מותר לך להכניס הכל אליו. בואו נכניס לניקניים 20, ובואו נדפיס אותו קודם כל פה, ואני אומר שהניקניים שלי הוא מה שיש במשתנה ניקניים, וכמובן שהוא יהיה 20.
בואו נסתכל רגע על הדף, ניקניים 20, הכל בסדר,