פרק 5: Operators – אופרטורים ב-JavaScript

1. מה זה אופרטור?

אופרטור הוא סימן מיוחד שמבצע פעולה על משתנים או ערכים. ב-JavaScript ישנם סוגים שונים של אופרטורים, וכל אחד מבצע סוג אחר של פעולה (כמו חישוב מתמטי, השוואות, פעולות לוגיות ועוד).

בפרק זה נסקור את הסוגים העיקריים של אופרטורים:

  1. אופרטורים אריתמטיים (Mathematical Operators)
  2. אופרטורי השוואה (Comparison Operators)
  3. אופרטורים לוגיים (Logical Operators)
  4. אופרטורים של הקצאה (Assignment Operators)
  5. אופרטורי מחרוזות (String Operators)
  6. אופרטורים נוספים כמו typeof, instanceof

2. אופרטורים אריתמטיים (Mathematical Operators)

אופרטורים אריתמטיים מאפשרים לבצע פעולות מתמטיות על מספרים.

אופרטורפעולהדוגמהתוצאה
+חיבור5 + 27
-חיסור5 - 23
*כפל5 * 210
/חילוק10 / 25
%שארית חילוק5 % 21
**חזקה5 ** 225

דוגמה:

let a = 10;
let b = 3;

console.log(a + b); // חיבור: 13
console.log(a - b); // חיסור: 7
console.log(a * b); // כפל: 30
console.log(a / b); // חילוק: 3.333...
console.log(a % b); // שארית חילוק: 1
console.log(a ** b); // חזקה: 1000

הסבר:

  • חיבור (+), חיסור (-), כפל (*), וחילוק (/) מבצעים את הפעולות המתמטיות הבסיסיות.
  • % מחזיר את השארית של החילוק (למשל, 10 לחלק ל-3 נותן שארית של 1).
  • ** מבצע חזקה: 10 בחזקת 3 שווה ל-1000.

3. אופרטורי השוואה (Comparison Operators)

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

אופרטורפעולהדוגמהתוצאה
==השוואה לערכים שווים5 == 5true
===השוואה מוחלטת (ערך וסוג)5 === "5"false
!=שונה5 != 3true
!==שונה לחלוטין (ערך וסוג)5 !== "5"true
>גדול מ-5 > 3true
<קטן מ-5 < 3false
>=גדול או שווה ל-5 >= 5true
<=קטן או שווה ל-3 <= 5true

דוגמה:

let x = 5;
let y = "5";

console.log(x == y);  // true, כי הערכים שווים למרות שסוגי המשתנים שונים
console.log(x === y); // false, כי הסוגים שונים (מספר ומחרוזת)
console.log(x != y);  // false, כי הערכים שווים
console.log(x !== y); // true, כי הסוגים שונים
console.log(x > 3);   // true, 5 גדול מ-3
console.log(x <= 5);  // true, 5 קטן או שווה ל-5

הסבר:

  • == משווה רק ערכים, ללא התייחסות לסוג.
  • === משווה גם את הערכים וגם את סוג המשתנים (השוואה מוחלטת).
  • != ו-!== בודקים אם ערכים שונים (הראשון מתעלם מסוג, השני בודק גם את הסוג).

4. אופרטורים לוגיים (Logical Operators)

אופרטורים לוגיים משמשים לשילוב של תנאים בוליאניים. הם משמשים בעיקר בתנאים כמו if.

אופרטורפעולהדוגמהתוצאה
&&AND (וגם)true && falsefalse
``OR (או)
!NOT (שלילה)!truefalse

דוגמה:

let age = 20;
let hasLicense = true;

// תנאי לבדיקה אם הגיל גדול מ-18 ויש לו רישיון נהיגה
if (age > 18 && hasLicense) {
    console.log("You can drive");
} else {
    console.log("You cannot drive");
}

// תנאי לבדיקה אם הגיל קטן מ-18 או שאין רישיון נהיגה
if (age < 18 || !hasLicense) {
    console.log("You cannot drive");
} else {
    console.log("You can drive");
}

הסבר:

  • && (AND): שניהם חייבים להיות true כדי שהתוצאה תהיה true.
  • || (OR): מספיק שאחד מהם יהיה true כדי שהתוצאה תהיה true.
  • ! (NOT): הופך את הערך הלוגי (אם זה true, הופך ל-false ולהפך).

5. אופרטורי השמה (Assignment Operators)

אופרטורים להשמה משמשים לשם הקצאת ערכים למשתנים. בנוסף ל-= הבסיסי, ישנם אופרטורים המשמשים לחישובים והקצאה בו זמנית.

אופרטורפעולהדוגמהתוצאה
=השמהx = 10x = 10
+=חיבור והשמהx += 5x = x + 5
-=חיסור והשמהx -= 5x = x - 5
*=כפל והשמהx *= 5x = x * 5
/=חילוק והשמהx /= 5x = x / 5
%=שארית חילוק והשמהx %= 5x = x % 5

דוגמה:

let x = 10;

x += 5;  // שווה ערך ל- x = x + 5
console.log(x); // מציג 15

x *= 2;  // שווה ערך ל- x = x * 2
console.log(x); // מציג 30

x -= 10; // שווה ערך ל- x = x - 10
console.log(x); // מציג 20

הסבר:

  • אופרטורים להשמה מבצעים חישוב ומשאירים את התוצאה במשתנה המקורי. לדוגמה, x += 5 מגדיל את הערך של x ב-5.

6. אופרטור מחרוזות (String Operator)

אופרטור + משמש גם לחיבור של מחרוזות (בניית מחרוזות).

דוגמה:

let firstName = "John";
let lastName = "Doe";
let fullName = firstName + " " + lastName;

console.log(fullName); // מציג "John Doe"

הסבר:

  • + משמש לחיבור מחרוזות. בדוגמה הזו, חיברנו את firstName עם lastName והוספנו רווח ביניהם.

7. אופרטור typeof

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

דוגמה:

let age = 25;
let name = "Alice";
let isStudent = true;

console.log(typeof age);      // מציג "number"
console.log(typeof name);     // מציג "string"
console.log(typeof isStudent); // מציג "boolean"

הסבר:

  • typeof מחזיר את סוג הנתון של המשתנה שנבדק.

8. אופרטור instanceof

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

דוגמה:

let date = new Date();

console.log(date instanceof Date); // מציג true
console.log(date instanceof Array); // מציג false

הסבר:

  • instanceof מחזיר true אם האובייקט הוא מופע של מחלקה או פונקציה מסוימת, אחרת הוא יחזיר false.

דוגמה מלאה: שילוב אופרטורים

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

let price = 100;
let discount = 20;
let isMember = true;

// חישוב מחיר לאחר הנחה אם הוא חבר מועדון
if (isMember) {
    price -= discount; // חישוב הנחה
}

console.log("Final price:", price); // מציג "Final price: 80"

// בדיקת סוג המשתנים
console.log(typeof price); // "number"
console.log(typeof isMember); // "boolean"

// חיבור מחרוזות
let message = "Total price is " + price + " dollars.";
console.log(message); // מציג "Total price is 80 dollars."

הסבר:

  • השתמשנו באופרטורי השמה כמו -= כדי להוריד את ההנחה מהמחיר.
  • בדקנו את סוג המשתנים בעזרת typeof.
  • השתמשנו באופרטור + כדי לחבר מחרוזות ולהציג הודעה עם המחיר הסופי.

סיכום

בפרק זה למדנו על:

  1. אופרטורים אריתמטיים (חישוביים) לביצוע פעולות מתמטיות.
  2. אופרטורים להשוואה לבדיקת ערכים ותנאים.
  3. אופרטורים לוגיים לשילוב תנאים לוגיים.
  4. אופרטורי השמה לביצוע חישובים והקצאה בו זמנית.
  5. אופרטורים לעבודה עם מחרוזות.
  6. שימוש באופרטור typeof לבדיקת סוג משתנים ו-instanceof לבדיקת מופעים של אובייקטים.

בפרק הבא נלמד על Conditions (תנאים) ונראה כיצד להשתמש ב-if, else, ו-switch כדי לשלוט בזרימת התוכנית.

Scroll to Top
דילוג לתוכן