ECMAScript

התקן העומד בבסיס שפת התכנות ג'אווהסקריפט

ECMAScript (או ES)[1] הוא מפרט לשפת תסריט שמפורסם על ידי Ecma International. המפרט נוצר כדי לייצר אחידות במימושים של JavaScript המפותחים על ידי גורמים בלתי תלויים רבים. JavaScript נותרה היישום הנפוץ ביותר של ECMAScript מאז שפורסם התקן לראשונה, אך היו גם יישומים נוספים, כגון JScript ו-ActionScript.[2]‏ ECMAScript משמש בדרך כלל לתסריטים בצד הלקוח באינטרנט, אך נעשה גם שימוש גובר והולך בכתיבת יישומי צד שרת המשתמשים ב-Node.js.

ECMAScript
פרדיגמותתכנות פונקציונלי, prototype-based programming, תכנות מרובה פרדיגמות, תכנות אימפרטיבי עריכת הנתון בוויקינתונים
תאריך השקהיוני 1997 עריכת הנתון בוויקינתונים
מתכנןברנדן אייך, Ecma International עריכת הנתון בוויקינתונים
מפתחברנדן אייך עריכת הנתון בוויקינתונים
מימושיםJavaScript, SpiderMonkey, V8, ActionScript, JScript, QtScript, InScript, Google Apps Script
הושפעה על ידיSelf, Perl, פייתון, Java, CoffeeScript, AWK, C, HyperTalk, Scheme עריכת הנתון בוויקינתונים
סיומתes עריכת הנתון בוויקינתונים
www.ecma-international.org
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

היסטוריה

עריכה

המפרט פותח בתחילתו על ידי ברנדן אייך מנטסקייפ. בתחילה נקרא "מוקה", לאחר מכן "LiveScript" ולבסוף JavaScript.[3] בדצמבר 1995, Sun Microsystems ו-Netscape הכריזו על JavaScript בהודעה לעיתונות.[4] בנובמבר 1996 הכריזה נטסקייפ על פגישה של ארגון התקנים Ecma International לקידום התקינה של JavaScript.[5] המהדורה הראשונה של ECMA-262 אומצה על ידי האספה הכללית של אקמה ביוני 1997. מאז פורסמו כמה מהדורות של תקן השפה. השם "ECMAScript" היה פשרה בין הארגונים העוסקים בתקינה של השפה, ובמיוחד נטסקייפ ומיקרוסופט, שהמחלוקות בהן שלטו במפגשי הסטנדרטים המוקדמים. אייך העיר כי "ECMAScript תמיד היה שם מסחרי לא רצוי שנשמע כמו מחלת עור."[6] ECMAScript פורמל באמצעות "סמנטיקה ביצועית", תוצר של אוניברסיטת סטנפורד והמחלקה למחשוב באימפריאל קולג' לצורך ניתוח אבטחה וסטנדרטיזציה.[7]

בעוד שגם JavaScript וגם JScript שואפים להיות תואמים ל-ECMAScript, שניהם מספקים גם תכונות נוספות שלא מתוארות במפרטים של ECMA.[8] [9]

גרסאות

עריכה

ישנן 12 מהדורות של ECMA-262 שפורסמו. העבודה על גרסה 12 לתקן הסתיימה ביוני 2021.

מהדורההתאריך שפורסםשםשינויים מהמהדורה הקודמתעורך
1יוני 1997מהדורה ראשונהגיא ל. סטיל ג'וניור
2יוני 1998שינויים בעריכה כדי לשמור על התאמה מלאה של המפרט לתקן הבינלאומי ISO / IEC 16262מייק קוולישאו
3דצמבר 1999נוספו ביטויים רגולריים, טיפול טוב יותר במחרוזות, הצהרות בקרה חדשות, טיפול בחריגות נסה / תפוס, הגדרה הדוקה יותר של שגיאות, עיצוב לפלט מספרי ושיפורים אחרים.מייק קוולישאו
4נטוש (טיוטה אחרונה 30 ביוני 2003)המהדורה הרביעית ננטשה, בגלל הבדלים פוליטיים הנוגעים למורכבות השפה. תכונות רבות שהוצעו למהדורה הרביעית נפלו לחלוטין; חלק שולבו במהדורה השישית.
5דצמבר 2009מוסיפה "מצב קפדני": קבוצת משנה המיועדת לספק בדיקת שגיאות מעמיקה יותר ולהימנע מתבניות המועדות לטעות. מבהירה את העמימויות הרבות במפרט המהדורה השלישית, ומתאימה להתנהגות של יישומים בעולם האמיתי שחרגו בעקביות ממפרט זה. מוסיפה כמה תכונות חדשות, כגון Getters and setters, תמיכה בספרייה עבור JSON, והשתקפות מלאה יותר על מאפייני האובייקט. [10]פראטאפ לקשמן, אלן ווירפס-ברוק
5.1יוני 2011מהדורה זו 5.1 של תקן ECMAScript מתואמת לחלוטין למהדורה השלישית של התקן הבינלאומי ISO / IEC 16262: 2011.פראטאפ לקשמן, אלן ווירפס-ברוק
6יוני 2015[11]ECMAScript 2015 (ES2015)אלן ווירפס-ברוק
7יוני 2016[12]ECMAScript 2016 (ES2016)בריאן טרלסון
8יוני 2017[13]ECMAScript 2017 (ES2017)בריאן טרלסון
9יוני 2018[14]ECMAScript 2018 (ES2018)בריאן טרלסון
10יוני 2019[15]ECMAScript 2019 (ES2019)בריאן טרלסון, בראדלי פריאס, ג'ורדן הרבנד
11יוני 2020ECMAScript 2020 (ES2020)ג'ורדן הרבנד וקווין סמית'
12יוני 2021ECMAScript 2021 (ES2021)ג'ורדן הרבנד, מייקל פיקרה, קווין גיבונס, שו-יו גו

הערות שוליים

עריכה
  1. ^ Stefanov, Stoyan (2010). JavaScript Patterns. O'Reilly Media, Inc. p. 5. ISBN 9781449396947. נבדק ב-2016-01-12. The core JavaScript programming language [...] is based on the ECMAScript standard, or ES for short.
  2. ^ "A Short History of JavaScript". W3C. נבדק ב-31 במרץ 2017. {{cite web}}: (עזרה)
  3. ^ Krill, Paul (2008-06-23). "JavaScript creator ponders past, future". InfoWorld. נבדק ב-2013-10-31.
  4. ^ "Netscape and Sun announce JavaScript, the Open, Cross-platform Object Scripting Language for Enterprise Networks and the Internet". Netscape. 1995-12-04. אורכב מ-המקור ב-2002-06-06. נבדק ב-2019-11-04.
  5. ^ "Industry Leaders to Advance Standardization of Netscape's JavaScript at Standards Body Meeting". Netscape. 15 בנובמבר 1996. אורכב מ-המקור ב-1998-12-03. נבדק ב-2013-10-31. {{cite web}}: (עזרה)
  6. ^ "Will there be a suggested file suffix for es4?". Mail.mozilla.org. 2006-10-03. נבדק ב-2013-10-31.
  7. ^ Maffeis, Sergio; Mitchell, John C.; Taly, Ankur. "An Operational Semantics for JavaScript" (PDF). Association for Computing Machinery.
  8. ^ "JavaScript and JScript: What's the Difference?". About.com. 2015-11-25. אורכב מ-המקור ב-2015-11-26.
  9. ^ "JavaScript and JScript: What's the Difference?". ThoughtCo.com. 2019-07-03. נבדק ב-2019-11-04.
  10. ^ "Changes to JavaScript, Part 1: EcmaScript 5". YouTube. 2009-05-18. נבדק ב-2013-10-31.
  11. ^ "ECMAScript 2015 Language Specification". Ecma International. ביוני 2015. {{cite web}}: (עזרה)
  12. ^ "ECMAScript 2016 Language Specification". Ecma International. ביוני 2016. {{cite web}}: (עזרה)
  13. ^ "ECMAScript 2017 Language Specification". Ecma International. ביוני 2017. {{cite web}}: (עזרה)
  14. ^ "ECMAScript 2018 Language Specification". Ecma International. ביוני 2018. {{cite web}}: (עזרה)
  15. ^ "ECMAScript 2019 Language Specification". Ecma International. ביוני 2019. {{cite web}}: (עזרה)