פונקציות מובנות בג'אווה סקריפט
מאמר זה מסביר את הפונקציות המובנות בג'אווה סקריפט.
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 בערוץ היוטיוב שלנו. נא לבדוק גם את ערוץ היוטיוב.