תחי ישראל - אין לנו ארץ אחרת

תחי ישראל -אין לנו ארץ אחרת

פונקציות ב-TypeScript

מחבר:
בתאריך:

ניתן להכריז על פונקציה ב-JavaScript בדרך הבאה.

function calcSum(x, y){
    return x+y;
}

TypeScript מוסיף לנו את האפשרות להגדיר את סוג המשתנים בפונקציה:

א. סוג המשתנים של הפרמטרים.
ב. סוג המשתנים שמחזירה הפונקציה.

function calcSum(x:number, y:number):number {
    return x+y;
}

ניתן להוסיף את סוג המשתנה לכל אחד מהפרמטרים שמעברים לפונקציה.
בדוגמה זו, הפרמטרים x ו-y שייכים לסוג number.

ניתן להגדיר את סוג המשתנה שאנו מעוניינים שהפונקציה תחזיר.
בדוגמה לעיל, הסוג המוחזר שייך לסוג number.

 

הסוג המוחזר void

כשהפונקציה לא מחזירה שום דבר הסוג המוחזר הוא void.
void שימושי בעיקר כשהפונקציה מדפיסה למסך או לקונסולה במקום להחזיר ערך באמצעות return.

בדוגמה הבאה, הפונקציה מדפיסה ערך למסך ואינה מחזירה דבר, ולכן הסוג המוחזר מהפונקציה הוא void

function writeSomething(something:any):void {
    document.write(something);
}

 

פרמטרים אופציונליים

באופן רגיל, מספר הפרמטרים שמועברים לפונקציה צריך להתאים למספר הפרמטרים שהפונקציה מצפה לקבל.

function calcSum(x:number, y:number):number {
    return x+y;
}

let sum1 = calcSum(1); // שגיאת קומפילציה כי הפונקציה מצפה לשני פרמטרים והעברנו רק אחד
let sum2 = calcSum(1,2,3);  // שגיאת קומפילציה כי הפונקציה מצפה לשני פרמטרים והעברנו שלושה
let sum3 = calcSum(1,2); // 3

כדי להפוך פרמטר לאופציונלי, נוסיף סימן שאלה (?) אחרי שם הפרמטר.
לדוגמה, אנחנו מעוניינים שהפרמטר y יהיה אופציונלי, ולכן נוסיף אחרי שמו "?".

function calcSum(x:number, y?:number):number {
    if(!y) return x;

    return x+y;
}

let sum1 = calcSum(1); // 1
let sum2 = calcSum(1,2); // 3

let sum3 = calcSum(1,2,3);  // שגיאת קומפילציה כי הפונקציה מצפה לשני פרמטרים והעברנו שלושה

שים לב! את הפרמטרים האופציונליים חובה למקם בסוף רשימת הפרמטרים. רק אחרי כל הפרמטרים שאינם אופציונליים.

 

פרמטרים ברירת מחדל

ניתן להגדיר פרמטרים ברירת מחדל, שישמשו במקום הפרמטרים שלא יועברו לפונקציה.
בדוגמה הבאה, הערך ברירת המחדל של y הוא 0.

function calcSum(x:number, y:number=0):number {
    return x+y;
}

let sum1 = calcSum(1); // 1
let sum2 = calcSum(1,2); // 3

גם אם נעביר לפרמטר y ערך שאינו מוגדר, הערך ברירת המחדל יתפוס את מקומו.

let sum3 = calcSum(1,undefined); // 1

 

פרמטרים מסוג rest

rest parameters

פרמטרים מסוג rest משמשים כשרוצים לעבוד עם מספר פרמטרים, או שאין יודעים מה מספר הפרמטרים הצפוי שצריך להעביר לפונקציה.

כדי להגדיר פרמטר מסוים כפרמטר מסוג rest, מוסיפים לפני שם המשתנה שלוש נקודות (...), וסוג המשתנה הוא בהכרח מערך.

בדוגמה הבאה, restOfNums הוא פרמטר מסוג rest. לכן, לפני השם הוספנו 3 נקודות, וסוג הפרמטר הוא מערך.
בנוסף, ישנם שני פרמטרים נוספים רגילים (fNum ו-sNum).

function calcSum(fNum: number, sNum: number, ...restOfNums: number[]):number {
    
	var sum = 0;
	for(let n of restOfNums){
	    sum+=n;
	}
	
	return fNum + sNum + sum;
}

בעוד חובה להעביר את הפרמטרים שאינם אופציונליים,
אפשר לבחור שלא להעביר את הפרמטרים מסוג rest.
בדוגמה הבאה, נעביר את 2 הפרמטרים הראשונים שאינם אופציונליים, ולא נעביר את הפרמטר השלישי כי הוא פרמטר rest, ולכן אופציונלי.

let sum1 = calcSum(1,2 ); //3

בדוגמה הבאה, מלבד שני הערכים הראשונים, הלא אופציונליים, נעביר 3 ערכים נוספים ל-restOfNums, שיכול לקבל פרמטר אחד, שני פרמטרים או כמה שצריך כי הוא פרמטר rest. במקרה זה נעביר לו שלושה ערכים (3,4,5).

let sum2 = calcSum(1,2, 3, 4, 5); //15

 

זהו, עד פה הסברנו את הנושא של פונקציות, ובפעם הבאה נתחיל להסביר את הנושא של מחלקות ואובייקטים ב-TypeScript.

 

לכל מדריכי ה-TypeScript

 

אהבתם? לא אהבתם? דרגו!

0 הצבעות, ממוצע 0 מתוך 5 כוכבים

 

 

המדריכים באתר עוסקים בנושאי תכנות ופיתוח אישי. הקוד שמוצג משמש להדגמה ולצרכי לימוד. התוכן והקוד המוצגים באתר נבדקו בקפידה ונמצאו תקינים. אבל ייתכן ששימוש במערכות שונות, דוגמת דפדפן או מערכת הפעלה שונה ולאור השינויים הטכנולוגיים התכופים בעולם שבו אנו חיים יגרום לתוצאות שונות מהמצופה. בכל מקרה, אין בעל האתר נושא באחריות לכל שיבוש או שימוש לא אחראי בתכנים הלימודיים באתר.

למרות האמור לעיל, ומתוך רצון טוב, אם נתקלת בקשיים ביישום הקוד באתר מפאת מה שנראה לך כשגיאה או כחוסר עקביות נא להשאיר תגובה עם פירוט הבעיה באזור התגובות בתחתית המדריכים. זה יכול לעזור למשתמשים אחרים שנתקלו באותה בעיה ואם אני רואה שהבעיה עקרונית אני עשוי לערוך התאמה במדריך או להסיר אותו כדי להימנע מהטעיית הציבור.

שימו לב! הסקריפטים במדריכים מיועדים למטרות לימוד בלבד. כשאתם עובדים על הפרויקטים שלכם אתם צריכים להשתמש בספריות וסביבות פיתוח מוכחות, מהירות ובטוחות.

המשתמש באתר צריך להיות מודע לכך שאם וכאשר הוא מפתח קוד בשביל פרויקט הוא חייב לשים לב ולהשתמש בסביבת הפיתוח המתאימה ביותר, הבטוחה ביותר, היעילה ביותר וכמובן שהוא צריך לבדוק את הקוד בהיבטים של יעילות ואבטחה. מי אמר שלהיות מפתח זו עבודה קלה ?

השימוש שלך באתר מהווה ראייה להסכמתך עם הכללים והתקנות שנוסחו בהסכם תנאי השימוש.

הוסף תגובה חדשה

 

 

ענה על השאלה הפשוטה הבאה כתנאי להוספת תגובה:

איך אומרים בעברית אינטרנט?

 

תמונת המגיב

אביטל בתאריך: 09.05.2018

מדריך מעולה!

תמונת המגיב

מנחם בתאריך: 11.04.2019

מדריך ברור ומובן
תודה רבה!!

תמונת המגיב

מלכה בתאריך: 15.04.2019

מדריך מצוין ברור וחשוב
כל הכבוד שהוא בעברית
מחכה לעוד מדריכים כאלו

תמונת המגיב

אוריאל בתאריך: 11.11.2019

מעולה תודה רבה .  בהיר וברור מחכה לעוד מדריכים

תמונת המגיב

ישראל בתאריך: 28.03.2020

תודה על המדריך!

תמונת המגיב

צבי בתאריך: 25.01.2021

מעולה ביותר!!