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

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

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

Logical assignment ב-V8

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

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

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

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

    (arr ||= []).push(123);
    
    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
    א תגובה 1 תגובה אחרונה
    3
    • yossizY yossiz

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

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

      א
      א
      אהרן
      כתב ב נערך לאחרונה על ידי
      #6

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

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

      לא הבנתי.

      yossizY OdedDvirO 2 תגובות תגובה אחרונה
      0
      • א אהרן

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

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

        לא הבנתי.

        yossizY
        yossizY
        yossiz
        כתב ב נערך לאחרונה על ידי yossiz
        #7

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

        📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה
        👈 רוצים כתובת מייל בעברית? כנסו למייל.קום 👉

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

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

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

          לא הבנתי.

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

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

            (arr ??= 0)++;
            

            יכול לעבוד?

            dovidD תגובה 1 תגובה אחרונה
            0
            • א אהרן

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

              (arr ??= 0)++;
              

              יכול לעבוד?

              dovidD
              dovidD
              dovid
              ניהול
              כתב ב נערך לאחרונה על ידי
              #10

              @אהרן יעבוד.

              • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
              • בכל נושא אפשר ליצור קשר dovid@tchumim.com
              א תגובה 1 תגובה אחרונה
              0
              • dovidD dovid

                @אהרן יעבוד.

                א
                א
                אהרן
                כתב ב נערך לאחרונה על ידי
                #11

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

                @אהרן יעבוד.

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

                dovidD תגובה 1 תגובה אחרונה
                0
                • dovidD dovid

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

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

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

                  (arr ||= []).push(123);
                  
                  א
                  א
                  אהרן
                  כתב ב נערך לאחרונה על ידי
                  #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
                  • א אהרן

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

                    @אהרן יעבוד.

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

                    dovidD
                    dovidD
                    dovid
                    ניהול
                    כתב ב נערך לאחרונה על ידי
                    #13

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

                    arr = arr++ || 1;
                    
                    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                    א 2 תגובות תגובה אחרונה
                    1
                    • dovidD dovid

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

                      arr = arr++ || 1;
                      
                      א
                      א
                      אהרן
                      כתב ב נערך לאחרונה על ידי
                      #14

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

                      אבל מה רע בככה

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

                      תגובה 1 תגובה אחרונה
                      0
                      • dovidD dovid

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

                        arr = arr++ || 1;
                        
                        א
                        א
                        אהרן
                        כתב ב נערך לאחרונה על ידי
                        #15

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

                        arr = arr++ || 1;

                        כצ"ל

                        arr = ++arr || 1;

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

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

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

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

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

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

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

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

                          dovidD
                          dovidD
                          dovid
                          ניהול
                          כתב ב נערך לאחרונה על ידי
                          #16

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

                          • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                          • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                          א תגובה 1 תגובה אחרונה
                          2
                          • dovidD dovid

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

                            א
                            א
                            אהרן
                            כתב ב נערך לאחרונה על ידי
                            #17

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

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

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

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

                            שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

                            נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

                            בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

                            הרשמה התחברות
                            תגובה
                            • תגובה כנושא
                            התחברו כדי לפרסם תגובה
                            • מהישן לחדש
                            • מהחדש לישן
                            • הכי הרבה הצבעות


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

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

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