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

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

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

Javascript ו ecmascript6

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

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

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

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

      הES6 (המהדורה ה6 של ES) זה גירסת התקינה שהפכה לרשמית ב2015 אחרי הרבה שנים של מחשבה ודיונים. התקינה הזו כוללת המון המון שינויים (לינקים בהמשך), שלרובם יש מכנה משותף והוא להפוך את JS לשפה נוחה לבניית מערכות של ממש (לא עוד שלושה קבצי סקריפט שהמפתח "אוחז ראש פחות או יותר" מה יש בהם ומה המבנה, אלא מאות קבצי קוד עם אלפי שורות ושנכתבים ע"י כמה אנשים - זה היה כמעט בלתי אפשרי בJS הותיקה).

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

      אבל חלק נכבד מהשינויים כבר כן נתמך בדפדפנים המודרנים. לחברות של ממש זה לא עוזר כי יש אחוז נכבד של משתמשים שאין להם דפדפן מודרני (ויש להם למשל XP עם IE6 או WIN7 עם IE8). אבל הרבה מפתחים במיוחד קטנים שאין להם המון אחריות על הכתפיים, ולא חוששים מכאלה שלא יעבוד להם, כבר משתמשים עם המון פיצרים של ES6, כמוני למשל.

      לינקים לקריאה נוספת
      רשימת שינויים: http://es6-features.org/
      תמיכת דפדפנים, טרנספיילרים ושאר הפלטפורמות: https://kangax.github.io/compat-table/es6/
      מאמרים בעברית: https://internet-israel.com/מדריכים/es6/es6intro/
      על הES6, ויקיפדיה האנגלית: https://en.wikipedia.org/wiki/ECMAScript

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

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

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

        ספיפית להגדרת אובקייטים, אני לא בטוח שהבנתי למה התכוונתם.
        אם לclass, אז אכן כרום פיירפוקס וEdge תומכים בהכל. אבל E11 לא לגמרי.
        לגבי מה עושים בפועל? מעולם עוד לא ראיתי class בjs בפרודקשן.

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

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

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

          דבר ראשון תודה על התשובה המקיפה והמקצועית,
          ולגבי תגובתך השניה זה הנקודה,
          האם היום בפועל מתכנת\ חברה\ מוצר שנכתב בJS
          האם מומלץ\מקובל לכתוב עפ"י הבES6? (נניח שבאת רוצים לכתוב באופן טכנולוגי ומתקדם ולהמיר אותו ES5 כדי לתמוך בכל הדפדפנים)
          כלומר למשל ביצירת קלאסים להשתמש בסינטקס החדש לדוג': class AA extends BB וכו'
          או שכרגע בוחרים מה להשתמש הבES6, ובהגדרת קלאסים לדוג' משתמשים באופן המסורתי פונקציית קונסטרקטור, וכו,

          תודה

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

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

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

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

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

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

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

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