יצירת קשר עם חברת בניית אתרים צור קשר

 077-7644819
חייגו או השאירו הודעתכם

 
מאמרים אחרונים מאמרים אחרונים
05/05/2024 20:48
בניית אתר אינטרנט למכירה של מוצרי יום הולדת וכלים חד פעמיים
04/04/2024 18:47
בניית של חנות באינטרנט למכירה של מוצרי גיימינג, מחשבים, סלולר וציוד נלווה
09/08/2023 17:16
בניית חנות באינטרנט למכירה של מוצרים לחיות מחמד

המרת טיפוסים - conversion, coercion

  1. דף הבית
  2. מדריך HTML5 למתכנת המתחיל
  3. המרת טיפוסים - conversion, coercion
מהם הטיפוסים השונים בג'אווה סקריפט וכיצד משתמשים בהם.

הגדרת טיפוסים בג'אווה סקריפט

נשים לב להבדלים בין חיבור מספרי לחיבור מחרוזות.

<script>
var n1 = 3;
var n2 = 4;
var n = n1+n2;
console.log(n); // 7

var s1 = "3";
var s2 = "4";
var s = s1+s2;
console.log(s); // "34"
</script>

המשתנים n1,n2,n הינם משתנים המחזיקים בערך מספרי או במילים אחרות משתנים מטיפוס מספרי. חיבור שלהם למעשה סוכם את הערכים.

המשתנים s1,s2,s הם משתנים המחזיקים בערך של מחרוזות או במילים אחרות משתנים מטיפוס מחרוזת. חיבור שלהם למעשה משרשר (מצמיד) את הערכים זה לזה.

משתנה מספרי יכול להיות integer שהוא מספר שלם (כגון 4-, 0, 5, 14) או float שהוא שבר (כגון 4.5, 2.425242-, 12.558). הטיפוס תמיד יחשב כמספר, כלומר, אין טיפוס integer וטיפוס float.

 

הטיפוס הבוליאני

פרט לטיפוסים מספריים ומחרוזות, טיפוס נוסף שבשימוש נרחב הוא הטיפוס boolean שמחזיק בערך בוליאני (true או false).

 

דוגמה למשתנים בוליאניים:

<script>
var y = true;
var n = false;
var a = y && n; // false
var b = y || n; // true
</script>

הגדרנו את y להיות בעל הערך true ואת n להיות בעל הערך false.

הביטוי y && n מציין "y וגם n" ולכן הוא שווה ערך ל-false. האופרטור && מחזיר true רק אם 2 הערכים לצידיו הם true. אם לפחות אחד מהם הוא false, האופרטור יחזיר false.

הביטוי y || n מציין "y או n" ולכן הוא שווה ערך ל-true. האופרטור || מחזיר true אם לפחות אחד מהערכים לצידיו הוא true. אם שני הערכים הם false, האופרטור יחזיר false.

 

המרת טיפוסים Type Conversion

ניתן לבצע המרה (conversion) בין טיפוסים שונים של המשתנים, למשל מטיפוס מספרי שהוא integer לטיפוס מספרי שהוא float או מטיפוס מחרוזת לטיפוס מספרי שהוא integer.

 

דוגמאות להמרות בין טיפוסים:

<script>
var y = true;
console.log(y.toString()); // "true"

var n = 8;
var s = "2";
console.log(s + n.toString()); // "28"

var a = "9.6";
var b = parseInt(a);
var c = parseFloat(a);
console.log(b); // 9
console.log(c); // 9.6

var address = "home number 17";
console.log(parseInt(address)); // NaN

var d = 25;
var e = String(d); // "25";
console.log(e);

var f = "54";
var g = Number(f);
console.log(g); // 54
</script>

הפונקציה toString ממירה מספר (integer או float) למחרוזת. לכן, החיבור הראשון בדוגמה מבוצע בין המחרוזת "8" למחרוזת "2" ומוחזר הערך 28.

הפונקציות parseInt ו-parseFloat ממירות מחרוזת למספר שלם (integer) או לשבר (float). כשנמיר מחרוזת הכוללת שבר, כגון 9.6 למספר שלם, יוחזר רק הערך השלם 9.

נשים לב, כי המרה למספר של מחרוזת שכוללת תווים, למשל המחרוזת "home number 17", מחזירה את הערך NaN שמציין שזהו אינו מספר. NaN הוא למעשה קיצור של המונח Not a Number.

דרך נוספת להמיר מספר למחרוזת היא באמצעות המחלקה String.

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

 

שימוש בביטוי כלשהו לצורך ההמרה (נניח הביטוי String או toString או Number) מכונה Casting. אפשר לומר כי מבחינה תחבירית אנו מבצעים Casting ומבחינה ביצועית, מה שקורה בפועל הוא Conversion.

 

המרה מאולצת Coercion

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

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

 

דוגמה ל-coercion:

<script>
var a = "2";
var b = 3;
var c = a + b;
console.log(c); // "23"
</script>

המשתנה a מחזיק במחרוזת, בעוד המשתנה b מחזיק במספר (integer). חיבור שלהם יגרום להמרה של המספר למחרוזת (ולא להיפך), כך שנקבל את המחרוזת "23" (ולא את הערך המספרי 5).

 

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

 

הוספת תגובה
YouTube previewPlay

שנקפיץ יחד את העסק שלך לגבהים חדשים?

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

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

 

אל תהססו! מלאו את הטופס או התקשרו עכשיו 077-7644819

 
WhatsApp
שנקפיץ לך את העסק?
לחץ כאן
התקשר עכשיו 077-7644819
או מלא את הטופס להלן: