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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. Semicolon (;) בשפת javaScript

Semicolon (;) בשפת javaScript

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

    כתבתי קוד כזה:

    function fun(){
    	return
    		1+1;
    }
    

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

    function fun(){
    	return;
    		1+1;
    }
    

    הוסיף mat ואמר, שלא זו בלבד שלא צריך לשים נקודה פסיק, אלא שבקהילת הJS זה נחשב מקובל ואף "חיובי", למשל בסטנדרט standardjs מופיע כלל שאומר לא לשים נקודה פסיק מלבד איפה שחייבים! זה לשונם "No semicolons – It's fine. Really!". הם מצרפים קישור לדף זה: http://inimino.org/~inimino/blog/javascript_semicolons שעושה (סוג של) סדר מתי לא צריכים לשים נקודה פסיק.

    אמממ. אין לי מה להוסיף. וגם אם כן, זה כבר קשור לפורום פילוסופיה.

    פורסם במקור בפורום CODE613 ב02/11/2017 20:27 (+02:00)

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

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

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

      @דוד ל.ט.

      הוסיף mat ואמר, שלא זו בלבד שלא צריך לשים נקודה פסיק, אלא שבקהילת הJS זה נחשב מקובל ואף "חיובי", למשל בסטנדרט standardjs מופיע כלל שאומר לא לשים נקודה פסיק מלבד איפה שחייבים! זה לשונם "No semicolons – It's fine. Really!". הם מצרפים קישור לדף זה: http://inimino.org/~inimino/blog/javascript_semicolons שעושה (סוג של) סדר מתי לא צריכים לשים נקודה פסיק.

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

      אבל מתרגלים :lol:

      פורסם במקור בפורום CODE613 ב02/11/2017 21:00 (+02:00)

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

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

        בC# אם לא תשים ; תקבל שגיאת קומפילציה. ובאמת בהתחלה לכתוב בלי ; היה נראה לי כל כך ברברי ולא מסודר , אבל לאט לאט מתרגלים לזה ואני פשוט לא יכול לשים בסוף - זה מוריד מהjs_looK ואגב - זה שאלה מראיונות עבודה כזה דבר.

        VB על שבירת שורתיה הוא דבר ידוע - אבל רק לציון אזכיר שיש גם בC# קיצור כזה אם כותבים if או for והפעולה או ההתניה היא רק שורה אחת אפשר לוותר על הסוגריים המסולסולות שיש שם, וזה יהיה אותו דבר. אם זה יהיה שני שורות זה כבר יצא מהלולאה. ויש לזה נפק"מ גדול בC# - שהרי כל סוגריים מסולסלים יוצרים סקופ נפרד - וכאן מחמת שהוא רק קיצור כתיבה עכ"פ הוא לא יוצר סקופ נפרד -(אולי אני טועה אבל כך זכור לי) - אבל JS - אין התניות יוצרות סקופ אבל לולאה יוצרת סקופ.

        אני התחלתי עם C# = וזה נהדר - ואני חושב שאסור ללמוד את הנוזל הזה שנקרא JS לפני שיש איזה שפה אמיתית בראש. זה כמו להתחיל לדבר ישר בסלנג. אבל היום - אני מרגיש די בבית - מתרגלים לדרך שדברים נעשים שם.

        פורסם במקור בפורום CODE613 ב02/11/2017 23:12 (+02:00)

        הצטרפות לרשימת התפוצה בעניני תכנות JS , React , Node וכל מיני דברים מענינים כאן :cool:
        https://programing-tips.web.app/

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

          נתנאל יש חילוק עצום בין הגמישות בסלסול של שפות C (שסי שארפ וג'אוה צעדו אחריהם) שהם כלל (ברזל! וקליט!) בדיוק ככל הסינטקס בשפה (ובניגוד למה שסברת אין לזה שום נפק"מ, כי סקופ פנימי תמיד יש רק חוסכים לך הקלדה), לבין הגמישות בJS שא. בוגדת בשפת האם שהיא C, ב. גורמת לקוד להיראות שונה ממה שהוא יתבצע ג. קשה להגדרה. מתי זה שורה חדשה ומתי לא.

          פורסם במקור בפורום CODE613 ב02/11/2017 23:34 (+02:00)

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

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

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

            @נתנאל

            ויש לזה נפק"מ גדול בC# - שהרי כל סוגריים מסולסלים יוצרים סקופ נפרד - וכאן מחמת שהוא רק קיצור כתיבה עכ"פ הוא לא יוצר סקופ נפרד -(אולי אני טועה אבל כך זכור לי) - אבל JS - אין התניות יוצרות סקופ אבל לולאה יוצרת סקופ.

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

            ב. בJS התניות ולולאות לא יוצרות סקופ חדש - רק פונקציה יוצרת סקופ.
            לכן, אם אתה כותב לולאת for וכדומה אתה בתוך אותו סקופ. אבל אם אתה משתמש בפונקציה forEach() אז באמת אתה בתוך סקופ חדש, כיון שזה בעצם פונקציה חדשה שרצה בלולאה על המערך, וכל פונקציה יש לה את הסקופ הפנימי שלה.

            פורסם במקור בפורום CODE613 ב03/11/2017 09:27 (+02:00)

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

              https://stackoverflow.com/questions/3641519/why-does-a-results-vary-based-on-curly-brace-placement

              פורסם במקור בפורום CODE613 ב03/11/2017 15:20 (+02:00)

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

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

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

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