נגישות       נגישות
שינוי גודל טקסט:
א א א
שינוי צבעי האתר:
? מקשי קיצור:

לחיצה חוזרת ונשנית על המקש Tab תעביר אתכם בין הקישורים והאזורים השונים בעמוד.

הפעלת מקשי הקיצור תלויה בדפדפן שבו אתם משתמשים.

Internet Explorer, Chrome ובגרסאות ישנות של Firefox: לחצו על מקש Alt ועל מקש המספר או האות על-פי הרשימה. ב Firefox 3 ומעלה: לחצו על המקשים Alt + Shift + המספר או האות.

S - עבור לתוכן הדף
L - חיפוש
1- עמוד הבית
2 - פרוייקטים
3 - מדריכים
4 - אודות
5 - צרו קשר
6 - הצהרת נגישות
 

פונקציות ב-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

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

 

= 9 + 5