פונקציות מובנות בג'אווה סקריפט

פונקציות מובנות בג'אווה סקריפט

מאמר זה מסביר את הפונקציות המובנות בג'אווה סקריפט.

YouTube Video

פונקציות מובנות בג'אווה סקריפט

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

מהן פונקציות מובנות?

פונקציות מובנות הן פונקציות המסופקות כת стандарт בג'אווה סקריפט. פונקציות אלו נועדו לבצע משימות ספציפיות בצורה מתומצתת. מתכנתים אינם צריכים לממש אותן באופן עצמאי, מה שמשפר את קריאות התחזוקה של הקוד.

פונקציות מובנות ייצוגיות

parseInt()

1// Convert string to integer
2console.log(parseInt("42"));      // Output: 42
3console.log(parseInt("42px"));    // Output: 42
4console.log(parseInt("0xF", 16)); // Output: 15
5console.log(parseInt("0xF"));     // Output: 15
6console.log(parseInt("px42"));    // Output: NaN
  • parseInt() היא פונקציה המפענחת מחרוזת וממירה אותה למספר שלם. אם תחילת המחרוזת מכילה מספר, החלק הזה יוחזר כמספר שלם. ניתן גם לציין רדיקס (בסיס) אופציונלי.

  • אם תחילת המחרוזת אינה מכילה מספר, הפונקציה תחזיר NaN (לא מספר). בנוסף, אם לא צוין רדיקס, ברירת המחדל היא עשרוני, אך אם המחרוזת מתחילה ב-"0x", היא מפורשת כהקסדצימאלית.

parseFloat()

1// Convert string to float
2console.log(parseFloat("3.14"));      // Output: 3.14
3console.log(parseFloat("3.14abc"));   // Output: 3.14
4console.log(parseFloat("42"));        // Output: 42
  • parseFloat() מפענחת מחרוזת וממירה אותה למספר בנקודה צפה. הפונקציה משמשת כאשר מתמודדים עם מספרים הכוללים נקודה עשרונית.

  • כמו parseInt(), אם תחילת המחרוזת אינה מספר, הפונקציה מחזירה NaN. היא מאופיינת בכך שהיא מפענחת נכון לא רק את החלק השלם אלא גם את החלק העשרוני.

isNaN()

1console.log(isNaN(NaN));         // Output: true
2console.log(isNaN(42));          // Output: false
3console.log(isNaN("hello"));     // Output: true
  • isNaN() קובעת אם ערך מסוים הוא NaN. NaN (לא מספר) מייצג ערך לא תקין כמספר.

  • isNaN() תקפה גם לסוגי נתונים שאינם מספרים, ומחזירה לדוגמה true אם לא ניתן להמיר מחרוזת למספר.

Number()

1console.log(Number("42"));        // Output: 42
2console.log(Number("3.14"));      // Output: 3.14
3console.log(Number("0xff"));      // Output: 255
4console.log(Number("abc"));       // Output: NaN
  • Number() היא פונקציה שממירה מחרוזות או סוגי נתונים אחרים למספר. הוא מחזיר NaN אם ניתנת מחרוזת שאינה מספרית.

  • בניגוד ל-parseInt() או parseFloat(), הפונקציה Number() מחשיבה זאת כהמרה לא חוקית ומחזירה NaN אם המחרוזת מכילה תווים שאינם מספריים.

String()

1console.log(String(42));           // Output: "42"
2console.log(String(3.14));         // Output: "3.14"
3console.log(String(true));         // Output: "true"
4console.log(String(null));         // Output: "null"
5console.log(String(undefined));    // Output: "undefined"
  • String() הוא פונקציה שממירה מספרים וסוגי נתונים אחרים למחרוזות. String(42) מחזיר את המחרוזת "42".
  • אם הערך שצריך להמיר הוא null או undefined, הוא מחזיר את המחרוזות "null" או "undefined", בהתאמה.
  • זה שימושי לטיפול בסוגי נתונים שונים, כמו מספרים, ערכי בוליאן או אובייקטים, על ידי המרתם למחרוזות.

Array

1const arr = Array(3);
2console.log(arr); // Output: [ <3 empty items> ]
3
4const arr2 = Array(1, 2, 3);
5console.log(arr2); // Output: [1, 2, 3]
  • Array הוא בונה (constructor) המשמש ליצירת מערכים חדשים.
  • אם יש ארגומנט אחד, הוא מתפרש כאורך המערך, ונוצר מערך ריק.
  • אם ישנם מספר ארגומנטים, נוצר מערך שבו הערכים הם האלמנטים.

Array.isArray()

1console.log(Array.isArray([1, 2, 3])); // Output: true
2console.log(Array.isArray("not an array")); // Output: false
  • Array.isArray() היא שיטה שקובעת האם הארגומנט הוא מערך.
  • זה מחזיר true אם הארגומנט הוא מערך, ו-false אחרת.

isFinite()

1console.log(isFinite(42));         // Output: true
2console.log(isFinite(Infinity));   // Output: false
3console.log(isFinite(NaN));        // Output: false
  • isFinite() בודקת האם הערך הנתון הוא סופי. הפונקציה מחזירה true עבור מספרים סופיים ו-false עבור ערכים אחרים (כמו אינסוף או NaN).

  • ב-JavaScript, Infinity ו--Infinity מייצגים אינסוף ושייכים לסוג מספר, אבל isFinite() מחשיבה אינסוף כערך לא חוקי.

eval()

1let expression = "2 + 2";
2console.log(eval(expression));    // Output: 4
3
4console.log(eval("var x = 10; x * 2"));  // Output: 20
  • eval() היא פונקציה שמעריכה ומבצעת קוד JavaScript שמסופק כמחרוזת. ניתן להריץ קוד JavaScript בצורה דינמית.

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

encodeURI() / decodeURI()

1let url = "https://example.com/?name=John Doe&age=25";
2let encodedUrl = encodeURI(url);
3console.log(encodedUrl);
4// Output: https://example.com/?name=John%20Doe&age=25
5
6let decodedUrl = decodeURI(encodedUrl);
7console.log(decodedUrl);
8// Output: https://example.com/?name=John Doe&age=25
  • encodeURI() היא פונקציה שמשמשת לקידוד (המרה) תווים שאינם ניתנים לשימוש בכתובת URL. לעומת זאת, decodeURI() מפענחת כתובת URL שקודדה לצורתה המקורית.

  • קידוד הוא חשוב במיוחד כשמדובר בתווים מיוחדים. לדוגמה, תווים כמו רווחים או & צריכים להיות מקודדים כדי להיכלל בצורה נכונה בכתובת URL, ולכן יש לעבד אותם באמצעות encodeURI().

setTimeout() / setInterval()

 1// Execute a function after 2 seconds
 2setTimeout(() => {
 3    console.log("This runs after 2 seconds");
 4}, 2000);
 5
 6// Execute a function every 1 second
 7let intervalId = setInterval(() => {
 8    console.log("This runs every 1 second");
 9}, 1000);
10
11// Stop the interval after 5 seconds
12setTimeout(() => {
13    clearInterval(intervalId);
14}, 5000);
  • setTimeout() היא פונקציה של טיימר שמשמשת להרצת פונקציה פעם אחת אחרי זמן שהוגדר. setInterval() מריצה פונקציה שוב ושוב במרווחי זמן שהוגדרו.

  • setTimeout() ו-setInterval() מבוצעים בצורה אסינכרונית וקוראים לפונקציה אחרי חלוף הזמן שהוגדר. ניתן גם לבטל הרצות באמצעות clearTimeout() או clearInterval().

סיכום

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

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

תוכלו לעקוב אחר המאמר שלמעלה באמצעות Visual Studio Code בערוץ היוטיוב שלנו. נא לבדוק גם את ערוץ היוטיוב.

YouTube Video