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

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

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

מתוזמן נעוץ נעול הועבר תכנות
3 פוסטים 3 כותבים 320 צפיות
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מנצפךמ מנותק
    מנצפךמ מנותק
    מנצפך
    כתב ב נערך לאחרונה על ידי
    #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
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
  • התחברות

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

  • התחברו או הירשמו כדי לחפש.