
פעולות אריתמטיות בסיסיות עם קבועים ומשתנים
ב-JavaScript ניתן לבצע פעולות אריתמטיות ולהקצות את התוצאה לקבועים ומשתנים.
ניתן לשלב משתנים וקבועים בביטויים אריתמטיים, כדי לבצע חישובים ולהקצות את התוצאה למשתנה או קבוע אחר (ניתן לעשות השמה לקבוע רק מביטוי מתמטי המבוסס על קבועים).
דוגמה:
const x = 5;
const y = 3;
const sum = x + y; // Result: 8
let a = 10;
let b = 4;
let difference = a - b; // Result: 6
let differencePlusOne = difference + 1;
const width = 8;
const height = 6;
const area = width * height; // Result: 48
let dividend = 20;
let divisor = 5;
let quotient = dividend / divisor; // Result: 4
הערכים המשולבים בביטויים המתמטיים מכונים אופרנדים. לדוגמה, בהשמה למשתנה differencePlusOne התבססנו על האופרנד difference (שהוא משתנה) ועל האופרנד 1 (שהוא קבוע מספרי).
הפעולות המתמטיות מכונות אופרטורים. בדוגמה לעיל השתמשנו ב-4 אופרטורים שהם למעשה 4 פעולות החשבון הבסיסיות +, -, *, /.
כל ביטוי מתמטי בדוגמה שלנו כלל רק 2 אופרנדים ואופרטור יחיד. עם זאת, ניתן לקודד ביטויים ארימתמטיים מורכבים יותר, הכוללים יותר אופרנדים ויותר אופרטורים ואף אופרטורים מתקדמים יותר.
דוגמה:
const radius = 5;
const pi = 3.14;
const circumference = 2 * pi * radius; // Calculate circumference
const area = pi * radius ** 2; // Calculate area
בדוגמה זו הגדרנו את הקבוע radius שמתאר רדיוס של מעגל ואת הקבוע pi. כמו כן, בהתבסס על קבועים אלו, הגדרנו את היקף המעגל ושטחו.
ההיקף מחושב בביטוי מתמטי הכולל 3 אופרנדים: 2, pi, radius. באופן דומה, השטח מחושב בביטוי מתמטי הכולל 3 אופרנדים גם הוא.
נשים לב שהאופרטור ** מתאר את פעולת החזקה.
פעולות מתמטיות מתקדמות בג'אווה סקריפט
האופרטור % מחשב את המודולוס, כלומר, את שארית החלוקה של מספר.
דוגמה:
let remainder = 10 % 3; // Result: 1 (remainder of 10 divided by 3)
JavaScript מספק אופרטור להגדלה (++) המגדיל את ערך המשתנה ב-1 ואופרטור להפחתה (--) המקטין את ערך המשתנה ב-1.
דוגמה:
let count = 0;
count++; // Increment count by 1
let result = count--; // Decrement count by 1 (post-decrement)
אופרטורים של הקצאה מורכבת (+=, -=, *=, /=) משלבים פעולות אריתמטיות עם הקצאה, דבר שהופך את הקוד לתמציתי וקריא יותר.
דוגמה:
let total = 10;
total += 5; // Equivalent to: total = total + 5
לאופרטורים השונים קדימות שונה בחישובים (לדוגמה: כפל * קודם לחיבור + או חיסור -). ניתן להשתמש בסוגריים, כדי לעקוף את קדימות ברירת המחדל.
דוגמה:
let result = 2 + 3 * 4; // Result: 14 (multiplication has higher precedence than addition)
let modifiedResult = (2 + 3) * 4; // Result: 20 (parentheses override default precedence)
JavaScript מייצג ערכים מספריים מסוימים כגון NaN (Not-a-Number) ו-Infinity לטיפול במקרים חריגים.
דוגמה:
let result = 0 / 0; // Result: NaN (division by zero)
let infinityValue = 1 / 0; // Result: Infinity
אופרטורים סיביים (&, |, ^, <<, >>) מבצעים אריתמטיקה סיבית על ייצוגים בינאריים של מספרים. כלומר, בחישוביים סיביים מתייחסים לאופרנדים כרצף של סיביות 0 ו-1 והחישובים מבוססים על כל סיבית וסיבית בנפרד.
דוגמה:
let bitwiseAnd = 5 & 3; // Result: 1 (bitwise AND)
let bitwiseOr = 5 | 3; // Result: 7 (bitwise OR)
הסיפריה המתמטית של ג'אווה סקריפט
JavaScript מספק את האובייקט Math שמהווה סיפריה מתמטית עשירה. אובייקט זה מכיל מגוון פונקציות מתמטיות לחישובים מורכבים יותר.
דוגמה:
// Square Root
const number = 25;
const squareRoot = Math.sqrt(number); // Result: 5
// Exponential Function
const base = 2;
const exponent = 3;
const result = Math.pow(base, exponent); // Result: 8
// Trigonometric Functions
const angleInDegrees = 45;
const angleInRadians = angleInDegrees * (Math.PI / 180);
const sine = Math.sin(angleInRadians); // Result: 0.7071 (approximately)
בדוגמה זו אנו רואים שימוש לשורש ריבועי, לחזקה ולפונקציית סינוס.
ניתן להשתמש בפונקציות כגון Math.round, Math.floor, ו- Math.ceil לעיגול מספרים ולטיפול בבעיות דיוק של נקודה צפה.
דוגמה:
let roundedNumber = Math.round(4.5); // Result: 5 (round to the nearest integer)
let truncatedNumber = Math.trunc(4.9); // Result: 4 (truncate decimal part)
let ceiledNumber = Math.ceil(4.1); // Result: 5 (round up to the nearest integer)
let flooredNumber = Math.floor(4.1); // Result: 4 (round down the nearest integer)
טיפים לעבודה עם חישובים מתמטיים
להלן כמה טיפים שיעזרו לכם לעבוד נכון יותר עם פונקציות מתמטיות בג'אווה סקריפט.
- השתמשו בשמות משתנים בעלי משמעות, כדי לשפר את קריאת הקוד והבנתו. לדוגמה: השתמשו במשתנה radius במקום במשתנה r.
- השתמשו בקבועים עבור ערכים שנשארים קבועים לאורך כל ביצוע התוכנית, כגון קבועים מתמטיים כמו π (pi).
- חלקו ביטויים מורכבים לחלקים קטנים יותר וניתנים לניהול לצורך הבהירות.
- אל תמציאו את הגלגל ואל תממשו פונקציות מתמטיות מורכבות בעצמכם. בחישובים מתמטיים מורכבים בידקו אם סיפריית Math כוללת פונקציות שיכולות לסייע לכם. כך תחסכו באגים מיותרים ותשפרו את מהירות החישובים.
- בשימוש בפונקציות לעיגול מספרים, יש לשים לב טוב בעיגול מספרים שליליים.
- בשימוש בנקודה צפה, יש לשים לב לבעיות דיוק שעלולות להיווצר.
- יש לוודא שבביטויים אריתמטיים כל האופרנדים מוגדרים ולא כוללים את הערך NaN.
על ידי שליטה בפעולות והטכניקות האריתמטיות המתקדמות הללו, תהיו מוכנים יותר להתמודדות עם חישובים מספריים מורכבים ולכתוב קוד JavaScript חזק ויעיל יותר.