
typescriptlang.org.הטקסט המלא של הדקות הראשונות בהרצאה «הסבר על TypeScript» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אז דבר ראשון, מה זה טייפסקריפט? טייפסקריפט זה סאבסט של ג'אווה סקריפט. זה בעצם שפה שהופכת את עצמה לג'אווה סקריפט. נוצרה על ידי מיקרוסופט ב-2013, היא בנויה כ-strongly typed, כלומר יש בה טיפוסי נתונים, כאשר אנחנו מגדירים משתנה אנחנו יכולים להגדיר אותו בטיפוס נתונים מסוים.
יש לה קומפיילר בכדי לבדוק שגיאות בקוד כשאנחנו מבצעים, יש לה טראנספיילר שהתפקיד שלו זה להפוך אותה לג'אווה סקריפט.
לפי גיטהאב זאת אחת השפות הפופולריות ביותר היום והאתר הרשמי שלה זה typescriptlang.org איזה יתרונות יש לשפה הזאת על פני ג'אווה סקריפט למה בעצם לנו לעבוד עם טייפ סקריפט ולא עם ג'אווה סקריפט רגיל שהיא שפה הכי פופולרית היום בעולם מאוד פשוטה לעבודה אז בואו נסתכל על כמה דברים שהם בעצם
חסרונות לגבי ג'אווה סקריפט. דבר ראשון לג'אווה סקריפט אין קומפיילר. כאשר אתם כותבים ג'אווה סקריפט אתם יכולים לכתוב מה שבא לכם מבחינת שגיאות אין קומפיילר שיגיד לכם תשמעו יש לכם פה שגיאה רק כאשר אתם מעלים את האתר לאוויר פתאום האתר יקרוס לכם ברגע שתתבצע השגיאה עדיף לנו שיהיה לנו
איזשהו קומפיילר שבזמן הקומפילציה יבצע איזושהי פעולה שתאתר שגיאות כאשר ב־JavaScript אין את זה וכאמור יכול להיות מצב שאנחנו כותבים קוד ולא נגלה את השגיאה מיידית זאת אומרת אנחנו כותבים קוד שמכיל איזשהו תנאי שרק ביום שלישי בשש אם יתרחש איזשהו תנאי אחר פתאום הקוד שלנו מתבצע ומכיל שגיאה רק
במקרים האלה האתר יקרוס אנחנו בכלל לא נגלה את זה אולי רק אחרי איזה חודשיים או אחרי חצי שנה פתאום השגיאה הזאת תופיע ותגרום לאתר לקרוא אם היה לנו קומפיילר הקומפיילר היה יכול לבדוק שגיאות ולהגיד לנו לפני שאנחנו בכלל מריצים את התוכנית תקשיבו יש פה שגיאה בואו תתקנו אותה JavaScript
היא לא strongly typed זה אומר שאתם יכולים לבנות משתנה בJavaScript אתם לא מגדירים לו איזה טיפוס נתונים הוא זה אומר שאפשר להכניס אליו כל ערך מכל טיפוס נתונים שאתם רוצים אני יכול לבנות משתנה ולהכניס אליו מספר ולאחר מכן מחרוזת ולאחר מכן תאריך ומה שבא לי הדבר הזה התגלה במהלך השנים כפחות טוב מאשר שפה שאפשר להגדיר בה טיפוסים חזקים.
כי יכולת מצב שאנחנו מגדירים משתנה שהתפקיד שלו זה להוות גיל של משתמש, ופתאום במהלך התוכנית אנחנו או מישהו אחר מכניסים לתוכו מחוזת, סטרינג, כמובן משהו שהוא לא הגיוני.
אז אם השפה היא Strongly Typed היא לא תאשר לי לעשות דבר כזה, ואם השפה היא לא Strongly Typed כמו JavaScript היא מאשרת וכמובן הדבר הזה יכול להיות מקור לבאגים, כי אני לא רוצה להכניס סטרינג במשתמש שהתפקיד שלו זה להחזיר גיל של משתמש.
אז ג'אווה סקריפט היא לא Strongly Typed וזה חיסרון של השפה. ג'אווה סקריפט יש תחביר של Object Oriented מ-Akma Script 6 מ-2015 בעצם, הכניסו תחביר שהוא קצת יותר דומה ל-Object