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

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

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

Logical assignment ב-V8

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

    מכירים את זה?

     data = data || data 
    

    מעכשיו

    data ||= data
    

    חבל שזה לא קיים עם מערכים.

    הדיווח בבלוג הרישמי

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

      @אהרן אמר בLogical assignment ב-V8:

      חבל שזה לא קיים עם מערכים.

      כלומר?

      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

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

        @yossiz אמר בLogical assignment ב-V8:

        @אהרן אמר בLogical assignment ב-V8:

        חבל שזה לא קיים עם מערכים.

        כלומר?

        שיוכלו לעשות מיד push.

        yossizY תגובה 1 תגובה אחרונה
        0
        • yossizY מנותק
          yossizY מנותק
          yossiz
          השיב לאהרן ב נערך לאחרונה על ידי
          #4

          @אהרן לצערי עדיין לא הבנתי כוונתך... אולי יש לך דוגמה לתחביר שהיית רוצה? או לדבר שאתה מחפש לחסוך?

          אגב, למי שלא היה לו כח לקרוא את הכתבה, יש הבדל קטן בין: data = data || data ל-data ||= data.
          בראשון ה-assignment (השמה?) קורה בכל מקרה. בשני זה קורה רק אם data הוא לא truthy.
          נפק"מ כאשר יש תוצאה צדדית של ה-assignment כמו במקרה של Element.innerHTML
          אז לשם הדיוק data ||= data1 שווה ל-data || (data = data1)‎

          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

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

            אני חושב שהוא מתכוון ל

            var arr = null;
            arr = arr || [];
            arr.push(123)
            

            אני חושב שאין סיבה שלא יעבוד ככה:

            (arr ||= []).push(123);
            

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

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

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

              @yossiz אמר בLogical assignment ב-V8:

              נפק"מ כאשר יש תוצאה צדדית של ה-assignment כמו במקרה של Element.innerHTML

              לא הבנתי.

              yossizY OdedDvirO 2 תגובות תגובה אחרונה
              0
              • yossizY מנותק
                yossizY מנותק
                yossiz
                השיב לאהרן ב נערך לאחרונה על ידי yossiz
                #7

                @אהרן זה מוסבר בכתבה. assignment ל-innerHTML יש לו תוצאה צדדית שהאלמנטים הקיימים נמחקים ואלמנטים חדשים נוצרים (גם אם ה-innerHTML החדש הוא בדיוק שוה לערך הקודם).

                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                תגובה 1 תגובה אחרונה
                1
                • OdedDvirO מנותק
                  OdedDvirO מנותק
                  OdedDvir
                  השיב לאהרן ב נערך לאחרונה על ידי
                  #8
                  פוסט זה נמחק!
                  תגובה 1 תגובה אחרונה
                  0
                  • א מנותק
                    א מנותק
                    אהרן
                    כתב ב נערך לאחרונה על ידי dovid
                    #9

                    עם שינוי קל בתחביר, זה

                    (arr ??= 0)++;
                    

                    יכול לעבוד?

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

                      @אהרן יעבוד.

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

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

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

                        @dovid אמר בLogical assignment ב-V8:

                        @אהרן יעבוד.

                        d85fa5ad-2fe0-4c8c-b475-db357f5899fb-image.png

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

                          @dovid אמר בLogical assignment ב-V8:

                          אני חושב שהוא מתכוון ל

                          var arr = null;
                          arr = arr || [];
                          arr.push(123)
                          

                          אני חושב שאין סיבה שלא יעבוד ככה:

                          (arr ||= []).push(123);
                          

                          אני חושב לאט, אבל בסוף זה מגיע..
                          התכוונתי ל
                          newData || arr.push(newData)

                          בעיקר הדברים האלו שימושיים כשמגיע דאטה לא צפוי, כמו מהשרת ולפעמים מה-DB.
                          וכששמות המשתנים ארוכים, זה ממש מיקל
                          res.data.longNameVar

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

                            @אהרן צודק, ה++ לא מתייחס למשתנה כל שהוא, ולא שייך לעשות ++ על ערך.
                            אבל מה רע בככה

                            arr = arr++ || 1;
                            

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

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

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

                              @dovid אמר בLogical assignment ב-V8:

                              אבל מה רע בככה

                              זה נשאר בערך 1!

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

                                @dovid אמר בLogical assignment ב-V8:

                                arr = arr++ || 1;

                                כצ"ל

                                arr = ++arr || 1;

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

                                  @אהרן לא היית מובן (לי ולטעמי לפחות) בnewData || arr.push(newData).
                                  זה אף פעם לא רע להסביר באריכות.

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

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

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

                                    @dovid
                                    התכוונתי ל
                                    if (newData) arr.push(newData)

                                    אבל זה לא יחסוך כלום

                                    לא מצליח לשחזר המקרים שהשאירו לי טראומה..

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

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

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

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