
doSomething שמדפיסה הודעה. העמסת פונקציות אינה אפשרית, גם לא ב-JavaScript.str מסוג string ו-num מסוג number חייבת לקבל בדיוק את אותם טיפוסים ואת אותו מספר פרמטרים. אחרת מתקבלת שגיאה, והדבר שונה מ-JavaScript.num?, מאפשר לא לשלוח אותו, ואז הוא undefined. אם כל הפרמטרים אופציונליים אפשר לקרוא בלי שום ארגומנט.str שולחים undefined.void מציין שהפונקציה לא מחזירה דבר, וכך הקומפיילר מתריע אם בטעות מחזירים משהו. פונקציה כמו getMax עם שני מספרים מחזירה number באמצעות אופרטור טרינרי, ובדוגמה התוצאה בין 10 ל-20 היא 20.any. בדוגמה הקומפיילר לא מנע זאת, וזה תלוי בהגדרות ב-tsconfig. מומלץ לתת טיפוס ספציפי לכל משתנה.הטקסט המלא של הדקות הראשונות בהרצאה «פונקציות ב-TypeScript» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
הדבר הבא שאנחנו הולכים לראות בטייבסקריט זה יצירת פונקציות function do something document write doing something נקרא לה do something בצורה כזאת ואנחנו רוצים להריץ קומפיילר tsc-wgo ואנחנו רוצים גם להריץ את האתר בואו נפעיל אותו והנה אנחנו רואים doing something מה עוד אנחנו יכולים לעשות
העמסת פונקציות אי אפשר, אנחנו לא יכולים, גם בג'אווה סקריפט אי אפשר לעשות את זה. בואו נכתוב פונקציה do something else, אוקיי? do something else, הפעם רוצה לקבל משתנים.
לדוגמה היא רוצה לקבל איזושהי מחרוזת, אבל אנחנו, יש לנו סוגים, אז הסוג זה סטרינג, והיא רוצה לקבל איזשהו מספר, והסוג הוא, sorry, number, ובואו נציג אותם.
doing something else, ובואו, האמת, נשתמש פה באינטרפוליישן ואז יהיה לנו יותר קל str ונרשום את str פה וnum נרשום את num פה ונריץ גם את do something else do something else אומרת לי תשמע אתה חייב להביא לי מחרוזת הלו ומספר 123 ועכשיו הכל בסדר
ב-JavaScript לא היה לנו את הקטע הזה שהיינו חייבים לשלוח בול את אותם טיפוסים ואת אותו מספר פרמטרים לפונקציות. כאן אנחנו חייבים לשלוח בול את אותו מספר, אנחנו רואים פה שיש לנו שגיאה ואנחנו רואים פה שיש לנו שגיאה, אלא אם כן הגדרנו פרמטר אופציונלי.
הנה עכשיו נם הוא אופציונלי, אני לא חייב לשלוח את נם. בואו נקרא לזה פעם אחת בצורה כזאת ופעם אחת בצורה כזאת. אז אם אנחנו רוצים להריץ את זה רגע, בואו נראה.
ושימו לב שהפרמטר num הוא undefined בקריאה הזאת, השנייה, כי לא שלחנו אותו. בואו נניח שכל הפרמטרים הם אופציונליים, זאת אומרת שאנחנו יכולים לקרוא ל-do something else וגם לא לשלוח שום דבר.
במצב הזה שניהם יהיו undefined. זה בסדר? האם אנחנו יכולים לא לשלוח פרמטר ל-str וכן לשלוח פרמטר ל-num?
בואו נראה. אם אני יכול פשוט להשאיר את זה פסיק ריק, פתאום בשפות האלה זה לא ניתן לביצוע. יש שפות שכן, כאן זה לא ניתן לביצוע.
אם אנחנו לא רוצים לשלוח דבר ל-STR, אז אנחנו שולחים undefined, זה בסדר, זה אומר שהוא קיבל בנקו undefined ו-NAM קיבל 1, 2, 3. אז יש לנו פה פונקציות, אנחנו יכולים לא לשלוח פרמטרים, אנחנו יכולים לשלוח פרמטרים בטיפוסים שונים, זה בסדר, אבל מה הערך המוחזר?
אז אם לא החזרנו שום דבר מהפונקציה שימו לב שיש לנו פה void ו-void זה טיפוס נתונים שאומר פונקציה לא מחזירה דבר אנחנו יכולים לרשום פה void בשביל לציין בצורה מפורשת שהפונקציה לא מחזירה דבר.
זה מונע מאיתנו לטעות בתוך הפונקציה ופתאום להחזיר משהו מהפונקציה. עכשיו אנחנו רואים שיש פה איזושהי בעיה כי הצהרנו שאנחנו לא מחזירים דבר מהפונקציה.
אם הייתי מוחק את זה אז הוא היה אומר לי סבבה הפונקציה מחזירה 123. לכן כדאי לכתוב בחתימה של הפונקציה מה אנחנו רוצים שהיא תחזיר או