This translation is incomplete. Please help translate this article from English.
קדימות אופרטורים קובעת את הסדר שבו מעריכים את תוצאות האופרטורים. אופרטורים בעלי קדימות גבוהה יותר יורעכו ראשונים.
דוגמא נפוצה:
3 + 4 * 5 // מחזיר 23
לאופרטור הכפל ("*") יש קדימות גבוהה יותר מאשר לאופרטור החיבור ("+
") ולכן יוערך ראשון.
אסוציטיביות
אסוציטיביות קובעת את הסדר שבו מעריכים אופרטורים בעלי קדימות זהה. למשל, חשבו על הביטוי הבא:
a OP b OP c
אסוציטיביות שמאלית (משמאל לימין) פירושה שמעריכים (a OP b) OP c , ואסוציטיביות ימנית (מימין לשמאל) פירושה שמעריכים a OP (b OP c)
. לאופרטורי השמה יש אסוציטיביות ימנית, אז אפשר לכתוב:
a = b = 5;
ולצפות ש-a ו-b יקבלו את הערך 5. זאת משום שאופרטור ההשמה מחזיר את הערך שהושם. תחילה, הערך 5 מושם ל-b. אחר כך הערך של b מושם ל-a.
טבלה
הטבלה הבאה ממויינת לפי קדימות מהגבוה (19) לנמוך (0).
אופרטור | אסוציטיביות | סוג האופרטור | קדימות |
---|---|---|---|
( … ) |
n/a | Grouping | 19 |
… . … |
שמאלית | Member Access | 18 |
… [ … ] |
שמאלית | Computed Member Access | |
new … ( … ) |
n/a | new (עם רשימת ארכומנטים) | |
… ( … ) |
שמאלית | Function Call | 17 |
new … |
ימנית | new (without argument list) | |
… ++ |
n/a | Postfix Increment | 16 |
… -- |
n/a | Postfix Decrement | |
! … |
ימנית | Logical NOT | 15 |
~ … |
ימנית | Bitwise NOT | |
+ … |
ימנית | Unary Plus | |
- … |
ימנית | Unary Negation | |
++ … |
ימנית | Prefix Increment | |
-- … |
ימנית | Prefix Decrement | |
typeof … |
ימנית | typeof | |
void … |
ימנית | void | |
delete … |
ימנית | delete | |
… ** … |
ימנית | Exponentiation | 14 |
… * … |
שמאלית | Multiplication | |
… / … |
שמאלית | Division | |
… % … |
שמאלית | Remainder | |
… + … |
שמאלית | Addition | 13 |
… - … |
שמאלית | Subtraction | |
… << … |
שמאלית | Bitwise Left Shift | 12 |
… >> … |
שמאלית | Bitwise Right Shift | |
… >>> … |
שמאלית | Bitwise Unsigned Right Shift | |
… < … |
שמאלית | Less Than | 11 |
… <= … |
שמאלית | Less Than Or Equal | |
… > … |
שמאלית | Greater Than | |
… >= … |
שמאלית | Greater Than Or Equal | |
… in … |
שמאלית | in | |
… instanceof … |
שמאלית | instanceof | |
… == … |
שמאלית | Equality | 10 |
… != … |
שמאלית | Inequality | |
… === … |
שמאלית | Strict Equality | |
… !== … |
שמאלית | Strict Inequality | |
… & … |
שמאלית | Bitwise AND | 9 |
… ^ … |
שמאלית | Bitwise XOR | 8 |
… | … |
שמאלית | Bitwise OR | 7 |
… && … |
שמאלית | Logical AND | 6 |
… || … |
שמאלית | Logical OR | 5 |
… ? … : … |
ימנית | Conditional | 4 |
… = … |
ימנית | Assignment | 3 |
… += … |
|||
… -= … |
|||
… **= … |
|||
… *= … |
|||
… /= … |
|||
… %= … |
|||
… <<= … |
|||
… >>= … |
|||
… >>>= … |
|||
… &= … |
|||
… ^= … |
|||
… |= … |
|||
yield … |
ימנית | yield | 2 |
... … |
n/a | Spread | 1 |
… , … |
שמאלית | Comma / Sequence | 0 |