עבור לתוכן

לא מבין את ה-shorthand operators ב-java script

Featured Replies

פורסם

שלום לפני כמה ימים התחלתי ללמוד java script ונתקלתי בדבר הבא:

a = a + 1 a+= 1 ++a a++

a = a - 1 a-=1 --a a--

a = a+b a+=b

a = a - b a-= b

a = a * b a* = b

a = a / b a/ = b

a = a % b a% = b

וכל המשפטים באותה שורה עושים אותו דבר אבל אני ממש לא הבנתי את זה. כלומר לא הבנתי נגיד איך a = a + 1 זה אותו דבר כמו a++. מה לעזזל אומר כל פלוס איך אני אמור להבדיל???!!! זה בילבל אותי ממש.

תודה לכל העוזרים!!!

פורסם

נתחיל ככה:

בשפות תכנות ישנות (כמו פסקל או בייסיק), אם אתה רוצה לשנות ערך ביחס לערך הקודם שלו (נניח להוסיף 1, להכפיל ב-2, או משהו כזה), יש רק דרך אחת:

a = a + 1

(כלומר הערך החדש של a הוא a+1)

אח"כ החליטו שזה מיותר לחזור על a פעמיים, והוסיפו אופרטורים מסוג חדש - assignment operators, והם נראים ככה

a += 1

זה אומר - תוסיף 1 ל-a

כיוון שהפעולות של "להוסיף 1" ו"להוריד 1" הן כל כך נפוצות, הוסיפו אופרטור מיוחד בשבילן:

a++ או ++a

בסופו של דבר, כל הפעולות האלה עושות אותו דבר.

יש רק הבדל אחד קטן בין ++a ו a++

a++ קודם כל מוסיף 1 ל-a, ואז מחזיר את הערך שלו.

++a מוסיף 1 ל-a, אבל מחזיר את הערך הקודם שלו.

(כלומר, אם אני עושה b = ++a אז b יהיה שווה a, ואם אני עושה ++b = a אז b יהיה שווה a-1)

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים