קינון אחרת הצהרות עוזרות לארגן ולבודד תנאים על מנת להימנע מבדיקת אותו מצב פעמיים או למזער את מספר הפעמים שיש לבצע בדיקות שונות.
על ידי שימוש ב אם הצהרות עם מפעילי השוואה וגם עם מפעילים לוגיים, אנו יכולים להגדיר קוד שיופעל אם מתקיים שילוב מסוים של תנאים. אנחנו לא תמיד רוצים לבדוק את התנאי כולו על מנת להריץ קבוצה אחת של הצהרות אם המבחן כולו נכון, ואחרת אם היא שגויה. יתכן שנרצה לבחור בין מספר הצהרות שונות, תלוי בשילוב הספציפי של תנאים נכון.
נניח, למשל, שיש לנו שלושה ערכים להשוואה ומעוניינים לקבוע תוצאות שונות בהתאם לאילו מהערכים שווים. הדוגמה הבאה מראה כיצד אנו יכולים לקנן אם הצהרות לבדיקה זו (מודגש בהמשך)
תשובה var;
אם (a == b) {
אם (a == c) {
תשובה = "כולם שווים";
} אחרת {
תשובה = "a ו- b שווים";
}
} אחרת {
אם (a == c) {
תשובה = "a ו- c שווים";
} אחרת {
אם (b == ג) {
תשובה = "b ו- c שווים";
} אחרת {
answer = "כולם שונים";
}
}
}
האופן שבו ההיגיון עובד כאן הוא:
- אם התנאי הראשון נכון (
אם (a == b)
), ואז התוכנית בודקת האם קינון אם מצב (אם (a == c)
). אם התנאי הראשון שגוי, התוכנית נתקלת ב- אחר מצב. - אם קינון אם נכון, ההצהרה מבוצעת, כלומר "כולם שווים".
- אם קינון אם הוא שקר, אז אחר ההצהרה מבוצעת, כלומר "a ו- b שווים".
להלן כמה דברים לשים לב כיצד זה מקודד:
- ראשית, יצרנו את המשתנה תשובה לשמור על התוצאה לפני שהתחלנו אם הצהרה, ביצוע המשתנה גלובלי. בלעדיו היינו צריכים לכלול את המשתנה בחזית כל הצהרות המשימה, מכיוון שזה יהיה משתנה מקומי.
- שנית, טביענו כל קינון אם הצהרה. זה מאפשר לנו לעקוב אחר ביתר קלות כמה רמות הצהרות מקוננות יש. זה גם מבהיר כי סגרנו את המספר הנכון של גושי קוד להשלמת כל ה- אם הצהרות שפתחנו. אתה עשוי לגלות שקל יותר לשים שם את הפלטה ראשונה עבור כל אחד אם הצהרה לפני שתתחיל לכתוב את הקוד השייך לחסימה זו.
אנו יכולים לפשט מעט קטע מקוד זה על מנת להימנע מהצורך לקנן את אם הצהרות באותה מידה. איפה שלם חסום אחר מורכב מסינגל אם הצהרה, אנו יכולים להשמיט את הפלטה סביב החסימה ולהעביר את אם התנאי עצמו למעלה באותו קו כמו ה- אחרבאמצעות התנאי "אחר אם". לדוגמה:
תשובה var;
אם (a == b) {
אם (a == c) {
תשובה = "כולם שווים";
} אחרת {
תשובה = "a ו- b שווים";
}
} אחרת אם (a == c) {
תשובה = "a ו- c שווים";
} אחרת אם (b == c) {
תשובה = "b ו- c שווים";
} אחרת {
answer = "כולם שונים";
}
מקונן אם / אז הצהרות נפוצות בכל שפות התכנות, ולא רק JavaScript. מתכנתים מתחילים משתמשים לעתים קרובות במספר אם / אז או אחרת הצהרות במקום לקנן אותן. בעוד שקוד מסוג זה יעבוד, הוא יהפוך במהירות למילולי ויכפול תנאים. הקניית הצהרות מותנות יוצרת בהירות רבה יותר סביב הלוגיקה של התוכנית ומביאה לקוד תמציתי שעלול לרוץ או לקמפל מהיר יותר.