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

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

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

שאלה באובייקטים ב JS

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

    יש לי אובייקט X
    אני רוצה להציב בתוך הבן שלו, Y את הנכד - Z.
    אם אני אעשה כך:

      x.y.z={}
    

    תיווצר בעיה.
    איני יודע אם Y הוא undefined. ואם כן אני צריך קודם לעשות Y={}. ואז אני אדרוס את הבנים של Y אם ישנם.
    הפתרון הנאיבי הוא לעשות בדיקה.
    אם x.y הוא undefined, אז x.y = {}.
    השאלה היא אם יש משהו קצר יותר. כי אם אני רוצה לגשת לבן של הבן של הבן אני כבר מסתבך.

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

      הדרך המקובלת היא כמו שכתבתי לך בעבר:
      http://tchumim.com/topic/2989/js-גישה-לילדים-של-אובייקט/3
      רק שכנראה אתה שואל איך משתמשים בזה להשמה, אז ככה:

      x.y = x.y || {};
      x.y.z = {};
      

      בטריקיות זה יכול להיכנס בשורה אחת:

      (x.y = x.y || {}).z = {};
      

      זה מרגיז אבל אין מה לעשות. בדרך כלל בתכנון נכון לא מגיעים למצב הזה בתדירות גבוהה.
      ואני מסכים עם דברי @zvizvi שם שהכי טוב להשתמש בספריה כמו שהוא הדגים שמה.

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

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

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

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

        הדרך המקובלת היא כמו שכתבתי לך בעבר:
        http://tchumim.com/topic/2989/js-גישה-לילדים-של-אובייקט/3
        רק שכנראה אתה שואל איך משתמשים בזה להשמה, אז ככה:

        x.y = x.y || {};
        x.y.z = {};
        

        בטריקיות זה יכול להיכנס בשורה אחת:

        (x.y = x.y || {}).z = {};
        

        זה מרגיז אבל אין מה לעשות. בדרך כלל בתכנון נכון לא מגיעים למצב הזה בתדירות גבוהה.
        ואני מסכים עם דברי @zvizvi שם שהכי טוב להשתמש בספריה כמו שהוא הדגים שמה.

        בהמשך לשם, בLodash עושים את זה ככה:

        _.set( x, 'y.z', {} );
        
        

        https://zvizvi.xyz

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

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

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

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