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

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

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

מה זה הסינטקסט בJS שתוחמים חלק מהארגומנטים כאוביקט?

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

    ככה:

    postparse(postparsed, { getTraits, postparse }) {
    

    כאן:
    https://github.com/open-xml-templating/docxtemplater/blob/eba9910d5d31597938555ee528a759c77879e530/es6/modules/expand-pair-trait.js#L72

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

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

      var person = { name: "dovid", site: "tchumim"};
      console.log(person );
      

      באותה מידה אפשר ליצור את האובייקט ישר בפונקציה:

       console.log({ name: "dovid", site: "tchumim"});
      

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

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

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

        @dovid
        חשבתי ע"כ, אבל לא הסתדר לי

        1. בלי קריאת שם לאוביקט, איך משתמשים/קוראים בארגומנטים האלו בפונקציה?
        2. בשורה הבאה הוא קורא ל"אחד ממאפייני האוביקט" הזה כמשתנה רגיל.
        תגובה 1 תגובה אחרונה
        0
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          כתב ב נערך לאחרונה על ידי dovid
          #4

          אני לא הסתכלתי בקוד המקור, וממילא חשבתי ששאלתך (לפי הקוד שהיה בא)
          נסובה על "פרמטרים אקטואליים" - שעת הקריאה, כעת פתחתי את הלינק שנתת ומדובר ב"פרמטרים פורמליים" שזה ההצהרה על הפונקציה.
          זה באמת פיצר חדש של ES6 שנקרא Destructuring assignment

          אם למשל יש לך אובייקט כזה:

          var person = { name: "dovid", site: "tchumim"};
          

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

           ({site} = person);
           console.log(site);
          

          כעת אפשר לעשות אותו דבר בפונקציות, נניח יש לך כזו פונקציה:

          function getTitleAndAddress(win){
            console.log(win.document.title + ": " + win.location);
          }
          

          אז אפשר לחלץ מתוך הארגומנט את המאפיינים החשובים והם עוברים ישר לthis הנוכחי:

          function getTitleAndAddress({document, location}){
            console.log(document.title + ": " + location);
          }
          

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

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

          מנצפךמ תגובה 1 תגובה אחרונה
          2
          • מנצפךמ מנותק
            מנצפךמ מנותק
            מנצפך
            כתב ב נערך לאחרונה על ידי
            #5

            @dovid אתה יכול להביא דוגמא למה זה טוב?

            dovidD תגובה 1 תגובה אחרונה
            0
            • dovidD מנותק
              dovidD מנותק
              dovid ניהול
              השיב למנצפך ב נערך לאחרונה על ידי
              #6

              @מנצפך אמר במה זה הסינטקסט בJS שתחומים חלק מהארגומנטים כאוביקט?:

              @dovid אתה יכול להביא דוגמא למה זה טוב?

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

              const { src, width} = document.images[0]
              

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

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

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

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

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

                @dovid אמר במה זה הסינטקסט בJS שתחומים חלק מהארגומנטים כאוביקט?:

                אם למשל יש לך אובייקט כזה:

                var person = { name: "dovid", site: "tchumim"};
                

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

                 ({site} = person);
                 console.log(site);
                

                במקרה הזה, מה site מחזיק?
                את person.site?
                ואם אני רוצה לקרוא לו בשם אחר מאשר site?

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

                  כן,
                  אתה יכול לעשות

                  {abc: site}

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

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

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

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

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

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