1. מה זה אופרטור?
אופרטור הוא סימן מיוחד שמבצע פעולה על משתנים או ערכים. ב-JavaScript ישנם סוגים שונים של אופרטורים, וכל אחד מבצע סוג אחר של פעולה (כמו חישוב מתמטי, השוואות, פעולות לוגיות ועוד).
בפרק זה נסקור את הסוגים העיקריים של אופרטורים:
- אופרטורים אריתמטיים (Mathematical Operators)
- אופרטורי השוואה (Comparison Operators)
- אופרטורים לוגיים (Logical Operators)
- אופרטורים של הקצאה (Assignment Operators)
- אופרטורי מחרוזות (String Operators)
- אופרטורים נוספים כמו
typeof
,instanceof
2. אופרטורים אריתמטיים (Mathematical Operators)
אופרטורים אריתמטיים מאפשרים לבצע פעולות מתמטיות על מספרים.
אופרטור | פעולה | דוגמה | תוצאה |
---|---|---|---|
+ | חיבור | 5 + 2 | 7 |
- | חיסור | 5 - 2 | 3 |
* | כפל | 5 * 2 | 10 |
/ | חילוק | 10 / 2 | 5 |
% | שארית חילוק | 5 % 2 | 1 |
** | חזקה | 5 ** 2 | 25 |
דוגמה:
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 == 5 | true |
=== | השוואה מוחלטת (ערך וסוג) | 5 === "5" | false |
!= | שונה | 5 != 3 | true |
!== | שונה לחלוטין (ערך וסוג) | 5 !== "5" | true |
> | גדול מ- | 5 > 3 | true |
< | קטן מ- | 5 < 3 | false |
>= | גדול או שווה ל- | 5 >= 5 | true |
<= | קטן או שווה ל- | 3 <= 5 | true |
דוגמה:
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 && false | false |
` | ` | OR (או) | |
! | NOT (שלילה) | !true | false |
דוגמה:
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 = 10 | x = 10 |
+= | חיבור והשמה | x += 5 | x = x + 5 |
-= | חיסור והשמה | x -= 5 | x = x - 5 |
*= | כפל והשמה | x *= 5 | x = x * 5 |
/= | חילוק והשמה | x /= 5 | x = x / 5 |
%= | שארית חילוק והשמה | x %= 5 | x = 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
. - השתמשנו באופרטור
+
כדי לחבר מחרוזות ולהציג הודעה עם המחיר הסופי.
סיכום
בפרק זה למדנו על:
- אופרטורים אריתמטיים (חישוביים) לביצוע פעולות מתמטיות.
- אופרטורים להשוואה לבדיקת ערכים ותנאים.
- אופרטורים לוגיים לשילוב תנאים לוגיים.
- אופרטורי השמה לביצוע חישובים והקצאה בו זמנית.
- אופרטורים לעבודה עם מחרוזות.
- שימוש באופרטור
typeof
לבדיקת סוג משתנים ו-instanceof
לבדיקת מופעים של אובייקטים.
בפרק הבא נלמד על Conditions (תנאים) ונראה כיצד להשתמש ב-if
, else
, ו-switch
כדי לשלוט בזרימת התוכנית.