PracticU

תנאי If-Then-Else ב-Javascript

בלי כתוביותעם כתוביות
PracticU › קורס Javascript כולל JQuery › תנאי If-Then-Else ב-Javascript
מילון מושגים:
תנאי - ביטוי לוגי בקוד שתוצאתו אמת או שקר, וקובע אילו פקודות יתבצעו בהתאם לערכו.
JavaScript - שפת תכנות שרצה בעיקר בדפדפן ומוסיפה אינטראקטיביות לדפי אינטרנט. רצה גם בצד השרת באמצעות Node.js.
אופרטור - סימן בקוד שמבצע פעולה על ערכים, כמו חיבור, השוואה או פעולה לוגית.
כפתור - רכיב בממשק המשתמש שהמשתמש לוחץ עליו כדי להפעיל פעולה, כמו שליחת טופס או מעבר לדף אחר.
דפדפן - תוכנה שמציגה דפי אינטרנט ומריצה את הקוד שבהם, ומאפשרת לגלוש בין אתרים, למשל Chrome או Firefox.
שרת - מחשב או תוכנה שמספקים שירות למחשבים אחרים (לקוחות) ברשת, למשל אחסון קבצים, אתר אינטרנט או מסד נתונים, ומגיבים לבקשות שלהם.
סיסמה - מחרוזת תווים סודית שמשמשת לאימות זהות המשתמש בעת כניסה למערכת. ככל שהיא ארוכה ומורכבת יותר, כך קשה יותר לנחש אותה.
משתנה - שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.

תנאי If-Then-Else ב-Javascript
תנאים מאפשרים לתוכנית להחליט אם לבצע פעולה, לפי ערך שנבדק. השיעור עובר על if ו-else, על אופרטורים השוואתיים ולוגיים, על switch ועל האופרטור הטרינרי.
השלבים העיקריים
1. דוגמה מהחיים: בכניסה לג'ימייל, אם לוחצים על הכפתור כשתיבת היוזר ריקה, מופיעה מיד הודעה שצריך להכניס כתובת אימייל. הבדיקה הזו נעשית ב-JavaScript בדפדפן, בלי פנייה לשרת. בדיקה של סיסמה נכונה נעשית בשרת, כי המידע נשמר שם.
2. if ו-else: פקודת if מקבלת תנאי בסוגריים, והבלוק שלה מתבצע רק אם התנאי נכון. else מבצע את הבלוק שלו כשהתנאי לא מתקיים.
3. אופרטורים השוואתיים: גדול מ, קטן מ, גדול שווה, קטן שווה, שווה ושונה. כל אחד מהם מחזיר true או false.
4. תנאים מרובים: אפשר לשרשר else if. הבדיקה מתחילה בתנאי הראשון ומבצעת את הבלוק הראשון שמתקיים. אם אף תנאי לא מתקיים, מבצעים את ה-else האחרון, או מוותרים עליו.
5. אופרטורים לוגיים: && (AND) דורש שכל התנאים יתקיימו, || (OR) מספיק שאחד מהם יתקיים, ו-! (NOT) הופך את התוצאה. AND נבדק לפני OR, כי לו יש קדימות.
6. switch: בודק ערך אחד מול כמה אפשרויות. כל case צריך להסתיים ב-break, אחרת הביצוע ממשיך לקייס הבא, כמו מפל מים. אפשר לאחד כמה case בלי קוד ביניהם, ו-default מבצע כשאף case לא מתאים.
7. אופרטור טרינרי: מקבל שלושה ארגומנטים: תנאי, ערך אם הוא נכון, וערך אם הוא לא נכון. התוצאה נכנסת למשתנה, ולדוגמה אפשר למצוא בעזרתו את המקסימום בין שני מספרים.
פקודות והגדרות
if (num > 50), else if, switch (n), case 10:, break;, default:, result = (a > b) ? a : b.
שימו לב
המספר 0 נחשב false, וכל מספר אחר נחשב true, ולכן if על 0 לא יתבצע. בתנאי עם פקודה אחת אפשר לוותר על הבלוק, אבל מומלץ תמיד לפתוח בלוק כדי שהקוד יהיה קריא ובטוח בכל דפדפן. ב-switch בודקים שוויון לערך בלבד, ולא טווח כמו גדול מ.
השיעור מסתיים ביכולת לבחור בין if, switch ואופרטור טרינרי, ולבנות תנאים מורכבים עם אופרטורים לוגיים.
השיעור הבא בקורס: לולאות ב-Javascript
מילון מושגים:
קוד מקור - הקוד שמפתחים כותבים בשפת תכנות, לפני הידור, המגדיר את פעולת התוכנה.
Java - שפת תכנות עילית ומונחית עצמים, הרצה על מכונה וירטואלית (JVM) ומשמשת לפיתוח מגוון יישומים.

להורדת קוד מקור של כל הדוגמאות בקורס  JAVA SCRIPT למתחילים -לחץ כאן לתלמידי המכללה בלבד

להורדת קוד מקור של כל הדוגמאות בקורס  JAVA SCRIPT למתקדמים- לחץ כאן לתלמידי המכללה בלבד

פרקי ההרצאה: תנאי If-Then-Else ב-Javascript

  1. 00:00

    הכרת משפטי תנאי

  2. 01:18

    דוגמה מהתחברות ל-GMail

  3. 02:15

    פקודת IF

  4. 02:52

    הוספת ELSE

  5. 04:11

    אופרטורים השוואתיים

  6. 04:53

    תנאים מרובים עם ELSE IF

  7. 07:21

    תנאים מורכבים AND ו-OR

  8. 13:04

    מנגנון ה-SWITCH

תמלול ההרצאה: תנאי If-Then-Else ב-Javascript

הטקסט המלא של הדקות הראשונות בהרצאה «תנאי If-Then-Else ב-Javascript» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:01

    הדבר הבא שאנחנו הולכים לראות בג'אווה סקריפט נקרא Conditions. כלומר איך אנחנו יכולים לכתוב קטע קוד שבעצם מאפשר לבדוק האם תנאי מסוים מתרחש כן או לא.

  2. 00:13

    אם התנאי מתרחש אז אנחנו בעצם רוצים לבצע פעולה מסוימת, אם התנאי לא מתרחש או שווה false אנחנו רוצים לבצע דבר אחר.

  3. 00:24

    אז בואו נסתכל קודם כל איפה קיים דבר כזה במציאות. אם אני פותח נניח דפדפן וגולש לדוגמה ל gmail אז אני רואה שיש לי פה תיבת טקסט להכניס יוזרניים ותיבת טקסט להכניס פספורט.

  4. 00:39

    בוא נניח שאני עכשיו לוחץ על הלחצן to sign in ולא מכניס כלום בתיבת היוזרניים. אז אני רואה אוטומטית שמוצגת לי הודעה enter your email address. ההודעה הזאתי הוצגה מיידית וזה אומר שלא התבצע שום ריצה לשרת אלא JavaScript בצד הלקוח בדקה האם תיבת הטקסט ריקה אם כן הציגה לי את ההודעה

  5. 01:02

    הזאת. אם לא אז כמובן היא לא הייתה מציגה לי את ההודעה הזאת לדוגמה אם הייתי רושם מוישה@gmail.com ולוחץ על סיינינג, אז כמובן שההודעה לא הייתה מוצגת לי לגבי היוזרניים אלא לגבי הפספורט, כאילו הכנסתי סיסמה.

  6. 01:28

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

  7. 01:44

    אם כן היא לא הייתה מציגה לי את ההודעה הזאת והייתה מתבצעת ריצה לצד השרת אבל אז היא הייתה מוצגת לי הודעה אחרת The username or password you entered is incorrect זה כמובן מקרה שבו השרת בדק את זה והחזיר הודעה ללקוח ואנחנו מתחילים לראות איך ב-JavaScript אנחנו יכולים לבצע את הבדיקה הזאת

  8. 02:03

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

  9. 02:24

    אני עכשיו רוצה לבדוק האם המשתנה הזה שווה לערך מסוים. אז יש לי קודם כל אפשרות להשתמש בפקודה if. if, סוגריים, ואני רושם בתוכה את התנאי. האם num, בוא נניח, יותר גדול מ-50.

  10. 02:43

    אם כן, אני יכול לפתוח בלוק ולכתוב בתוך הבלוק את הפקודות שאני רוצה. הפקודות האלה יתבצעו כמובן אם num יותר גדול מ-50.

  11. 02:53

    לדוגמה, alert num is bigger than 50. אני יכול עכשיו, עכשיו להוסיף גם אלס. האלס יתבצע במצב שבו num לא יהיה יותר גדול מ-50.

  12. 03:14

    בואו נבדוק. num is smaller or equal to 50. בואו נבדוק את הקוד. נריץ. אנחנו רואים ש-num is bigger than 50, התיבה היחידה שמוצגת לנו.

  13. 03:42

    בואו ננסה להכניס ב-num ערך שהוא קטן מ-50, דוגמה 30. נשמור. אנחנו יכולים אפילו לחזור לדפדפן ולרפרש אותו, ואז הדפדפן ירוץ מחדש, כאשר הפעם num is smaller or equal to 50.

  14. 04:00

    אוקיי, אז מה שעשינו פה זה השתמשנו עם האופרטור גדול מ... אבל איזה עוד אופרטורים קיימים לנו?

  15. 04:15

    אז אנחנו יכולים להשתמש עם האופרטורים הבאים גדול מ... קטן מ... גדול שווה... קטן או שווה... שווה... שונה.

  16. 04:31

    האופרטורים האלה נקראים אופרטורים השוואתיים או Comparison Operators והם מאפשרים לנו לבדוק מגוון של דברים האם ערך גדול מערך אחר, קטן, גדול שווה, קטן שווה, שווה או שונה מערך אחר.

  17. 04:53

    אוקיי, מה קורה אם אני רוצה לבצע? מספר תנאים, בואו נשכפל את הif הזה למצב קצת אחר. אני רוצה לבדוק האם num, בוא נניח, שווה ל-10.

  18. 05:13

    אם כן, num is equal to 10. אני יכול כאן לרשום אלף if, ובif לתת תנאי אחר, האם num שווה ל-20? אם כן, אלרט num is equal to 20. וככה אני יכול להמשיך עם אלף if כמה שאני רוצה.

  19. 05:50

    אני יכול להרחיב את הif בצורה כזאת. לדוגמה, האם num שווה ל-30? אלף if בכלל, נאם יותר קטן מאפס נאם is נגטיב וכולי לבסוף אני יכול שיהיה לי אלס אחד שהאלס הזה יתקיים אם אף אחד מהאיפים לא יתבצע זאת אומרת שהמנגנון הזה שאנחנו רואים כאן עדיין מנגנון איף בודק האם התנאי הראשון מתקיים אם כן הוא מבצע אותו ולא נכנס לאף אחר לאף אחד אחר מפני שכל

  20. 06:34

    היתר שייכים לאלסים אם התנאי הראשון לא מתבצע הוא בודק את התנאי השני מבצע אם הוא מתבצע הוא מבצע אותו אם לא הוא ממשיך הלאה וכולי אם הוא לא מצא אף אחד מהתנאים האלה הוא נכנס לאלף ומבצע אותו, מי כמובן יכול לוותר על האלף.

  21. 06:51

    בואו נבדוק כרגע כאשר num שווה ל-30, נרפרש את הדפדפן ונראה שהוא כותב לי num is equal to 30. בואו נכניס מינוס 30, נרפרש ונראה num is negative. אז בעצם כאן השתמשנו במשפט תנאי if.

  22. 07:29

    קיים כמובן תנאי מורכב, מה זה אומר תנאי מורכב? תנאי מורכב זה תנאי שקיים עם מספר תתי תנאים. לדוגמה, יש לי כאן var a ו-var b.

  23. 07:51

    אני רוצה לבדוק משהו לגבי שני התנאים, ואני יכול לבצע תנאי עבור a, האם a יותר גדול מ-10, ואני רוצה לבדוק גם משהו לגבי b.

  24. 08:01

    כאן אני יכול להשתמש באופרטור תנאי מורכב, לדוגמה end, האם b יותר גדול מ-20. מה שJavaScript תבצע זה תבדוק ששני התנאים בכדי לבצע את ה-if.

  25. 08:26

    בואו נבדוק, ואנחנו רואים שמוצגת לנו ההודעה yes. אנחנו יכולים לבצע תנאי כזה. האם יותר גדול מ-10 יותר גדול מ-20. כאן מספיק שאחד משני התנאים האלה יתבצע, המערכת תחזיר true בכל הif הזה ולכן תבצע את הif.

  26. 09:27

    בואו נסתכל על זה, נניח ש-a לא יותר גדול מ-10, a שווה ל-1, b יותר גדול מ-20 שווה 22, זה מספיק בשביל שהתנאי yes יתבצע.

  27. 09:38

    עושים פה סימן קריאה, ניגש לדפדפן, נפרש אותו ואנחנו רואים שהתנאי התבצע. רק אם שני תתי התנאים שווים false, בעצם האיף לא יתפצע.

  28. 09:56

    אפשרות נוספת זה אפשרות להשתמש בתנאי NOT. תנאי NOT בודק היפוך של תנאי. אני עכשיו רושם את הדבר הבא: האם A שווה ל-1?

  29. 10:13

    אם כן, A = 1. זאת אומרת שכרגע A שווה ל-1 ואנחנו הולכים לראות את ההודעה הזאת. A = 1. אוקיי, אבל מה היה קורה אם הייתי לוקח את התנאי הזה, שם אותו בסוגריים ושם פה NOT?

  30. 10:45

    אז מה שקורה, המערכת לוקחת את ה-NOT והופכת את התנאי. אם התנאי הזה שווה ל-True, ה-NOT יהפוך אותו ל-False ואז כמובן האיף לא יתבצע. אם התנאי הזה שווה ל-False, המערכת תהפוך אותו ל-True והתנאי הזה כן יתבצע.

  31. 11:01

    זאת אומרת שאנחנו ניכנס לתוך התנאי כאשר A not equals 1. בואו נבדוק כרגע ונראה שהמשפט הזה לא יתבצע, ההודעה לא תתבצע כאשר אני מרפרש את הדפדפן.

  32. 11:20

    נשים ב-A 10, נרפרש שוב פעם את הדפדפן ונראה שמוצג לי A not אני כמובן יכול לרשום מספר תתי תנאים, האם a יותר גדול מ-3 וגם b שווה 8 או a שווה b and a גדול שווה 4 וכו' וכו'.

  33. 12:05

    מה שהמערכת עושה, ישנה קדימות אופרטורים, אופרטור end חזק יותר מאופרטור or ולכן המערכת תבדוק קודם כל את התשלובת של ה-ending.

  34. 12:16

    אז המערכת תבדוק את שני אלה, תחזיר תשובה, לאחר מכן תבדוק את שני אלה, תחזיר תשובה ולאחר מכן תבצע אור עם כולם ביחד.

  35. 12:37

    בעצם ביצענו כרגע מספר אפשרויות לגבי האופרטור if, או יותר נכון הפקודה if, כאשר השתמשנו ב-if-else ובמספר תתי תנאים.

  36. 12:51

    האופרטורים הלוגיים שראינו נקראים LogicOperators ויש לנו את end, יש לנו את or ויש לנו את not. עכשיו, מה לגבי שיטה אחרת לבצע תנאים?

  37. 13:23

    אנחנו יכולים לקחת משתנה, ליתר דיוק כבר, ולהכניס לתוכו איזשהו ערך. במידה ואני רוצה לבצע מספר פעולות כתלות במשתנה הזה בלבד, יש לי אפשרות להשתמש במנגנון אחר שנקרא מנגנון סוויץ'.

  38. 13:49

    בואו לא ניקח num, ניקח n, כי כבר יש לנו num למעלה. אם הייתי משתמש במנגנון if עבור n בלבד, אז היה לי מקרה דומה למקרה שראינו מקודם.

  39. 14:03

    קודם בדקנו את num ובדקנו מספר דברים לגביו. האם הוא שווה ל-10, אחרת האם הוא שווה 20, אחרת האם הוא שווה 30 וכולי. אם אני רוצה לבצע השוואות בלבד רק עבור num, יותר נוח לי לא להשתמש במנגנון if-else אלא להשתמש במנגנון סוויץ'.

  40. 14:25

    בואו נסתכל איך עושים את זה. מנגנון סוויץ' אומר דבר כזה. אני רושם את המילה סוויץ' ולאחר מכן אני רושם את שם המשתנה שאני רוצה לבדוק.

  41. 14:39

    פותח בלוק ורושם בתוך הבלוק את הדבר הבא case ואז רושם את הערך שאני רוצה לבצע השוואה לגביו. בוא נניח 10 נקודותיים ואת הקוד שאני רוצה כאשר אני רוצה לבצע שבמידה ו-num שווה ל-10.

  42. 14:58

    לדוגמה alert 10. לאחר מכן break בכדי לגרום

לקורס המלא: קורס Javascript אונליין

ההרצאה הקודמת: משתנים ב-Javascript

ההרצאה הבאה: לולאות ב-Javascript

הרצאות קשורות מקורסים אחרים

  • תנאי if-else
  • תנאי If - Else - חלק 1
  • סקריפט עם IF - THEN - ELSE
  • תנאי if-else בג'אווה

קורסים נוספים במסלול

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס ריאקט - React
  • קורס NodeJS