דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. JS- גישה לילדים של אובייקט

JS- גישה לילדים של אובייקט

מתוזמן נעוץ נעול הועבר תכנות
5 פוסטים 3 כותבים 530 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מנצפךמ מנותק
    מנצפךמ מנותק
    מנצפך
    כתב ב נערך לאחרונה על ידי
    #1

    יש לי אובייקט obj.
    אני רוצה לדעת האם יש לו את
    obj.x.y
    ומה ערכו.
    איך אפשר לעשות זאת בצורה הקלה ביותר? האם צריך לבדוק שקודם יש את X ואז לבדוק האם יש ל X את Y?

    zvizviZ תגובה 1 תגובה אחרונה
    0
    • dovidD מחובר
      dovidD מחובר
      dovid ניהול
      כתב ב נערך לאחרונה על ידי dovid
      #2

      מה שמקובל זה:

      var val = obj.x && obj.x.y;
      

      אם הx לא קיים אז הval יחזיר null ולא יהיה שגיאה כי חלקו השני של המשפט לא יתבצע.
      אם הוא קיים, אז בגלל ה&& מוחזר לval החלק האחרון.

      זה יכול להיות ארוך יותר:

      var val = obj.x && obj.x.y && obj.x.y.z;
      

      וזה לא אומר אם הx קיים או לא, זה סה"כ דרך לחלץ את הערך אם ישנו, ושלא תתרחש שגיאה אם הוא איננו.

      בשביל לדעת אם קיים, אם אתה יודע שזה לא מגיע מפרוטוטייפ של אלמנט אחר תוכל לבדוק עם obj.hasOwnProperty.
      בשביל לבדוק אם זה קיים גם מפרוטוטייפ, אפשר לבדוק אם x.o == undefined, או בES6 עם האופטור in ככה x in obj שזה מחזיר true אם קיים.

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      תגובה 1 תגובה אחרונה
      2
      • zvizviZ מנותק
        zvizviZ מנותק
        zvizvi
        השיב למנצפך ב נערך לאחרונה על ידי zvizvi
        #3

        @מנצפך אמר בJS- גישה לילדים של אובייקט:

        יש לי אובייקט obj.
        אני רוצה לדעת האם יש לו את
        obj.x.y
        ומה ערכו.
        איך אפשר לעשות זאת בצורה הקלה ביותר? האם צריך לבדוק שקודם יש את X ואז לבדוק האם יש ל X את Y?

        שוב, lodash.

        _.get(obj, 'x.y');
        

        https://zvizvi.xyz

        תגובה 1 תגובה אחרונה
        0
        • dovidD מחובר
          dovidD מחובר
          dovid ניהול
          כתב ב נערך לאחרונה על ידי
          #4

          @zvizvi בJS לדעתי חייבים לדעת להסתדר בלי ספריות חיצוניות כדי לא לפתח תלות. ואחרי שיודעים ורגילים להסתדר, על פי רוב לא צריכים שום ספריה.

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          zvizviZ תגובה 1 תגובה אחרונה
          0
          • zvizviZ מנותק
            zvizviZ מנותק
            zvizvi
            השיב לdovid ב נערך לאחרונה על ידי zvizvi
            #5

            @dovid אמר בJS- גישה לילדים של אובייקט:

            @zvizvi בJS לדעתי חייבים לדעת להסתדר בלי ספריות חיצוניות כדי לא לפתח תלות. ואחרי שיודעים ורגילים להסתדר, על פי רוב לא צריכים שום ספריה.

            זה נכון שחייבים לדעת להסתדר בלי ספריות חיצונית.
            אבל אחרי שכבר יודעים להסתדר לדעתי עדיף לעבוד עם ספריות פופולאריות וציבוריות. משתי סיבות:

            • תמיד הן יעשו את הפעולה המבוקשת בדרך הכי יעילה. (וגם אם לא, מתישהו מישהו יעדכן אותן לעשות ככה).
            • את הזמן שאתה רוצה להשקיע בכתיבת הפעולה המבוקשת - עדיף שתשקיע בדברים האחרים שאתה רוצה לפתח.

            https://zvizvi.xyz

            תגובה 1 תגובה אחרונה
            2

            בא תתחבר לדף היומי!
            • התחברות

            • אין לך חשבון עדיין? הרשמה

            • התחברו או הירשמו כדי לחפש.
            • פוסט ראשון
              פוסט אחרון
            0
            • דף הבית
            • קטגוריות
            • פוסטים אחרונים
            • משתמשים
            • חיפוש
            • חוקי הפורום