ECMAScript

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

== היסטוריה ==
המפרט פותח בתחילתו על ידי ברנדן אייך מנטסקייפ. בתחילה נקרא "מוקה", לאחר מכן "LiveScript" ולבסוף JavaScript.<ref></ref> בדצמבר 1995, Sun Microsystems ו-Netscape הכריזו על JavaScript בהודעה לעיתונות.<ref></ref> בנובמבר 1996 הכריזה נטסקייפ על פגישה של ארגון התקנים Ecma International לקידום התקינה של JavaScript.<ref></ref> המהדורה הראשונה של ECMA-262 אומצה על ידי האספה הכללית של אקמה ביוני 1997. מאז פורסמו כמה מהדורות של תקן השפה. השם "ECMAScript" היה פשרה בין הארגונים העוסקים בתקינה של השפה, ובמיוחד נטסקייפ ומיקרוסופט, שהמחלוקות בהן שלטו במפגשי הסטנדרטים המוקדמים. אייך העיר כי "ECMAScript תמיד היה שם מסחרי לא רצוי שנשמע כמו מחלת עור."<ref></ref> ECMAScript פורמל באמצעות "סמנטיקה ביצועית", תוצר של אוניברסיטת סטנפורד והמחלקה למחשוב באימפריאל קולג' לצורך ניתוח אבטחה וסטנדרטיזציה.<ref></ref>

בעוד שגם JavaScript וגם JScript שואפים להיות תואמים ל-ECMAScript, שניהם מספקים גם תכונות נוספות שלא מתוארות במפרטים של ECMA.<ref></ref> <ref></ref>

=== גרסאות ===
ישנן 12 מהדורות של ECMA-262 שפורסמו. העבודה על גרסה 12 לתקן הסתיימה ביוני 2021.
{| class="wikitable"
! מהדורה
! התאריך שפורסם
! style="width: 13em;" | שם
! שינויים מהמהדורה הקודמת
! עורך
|-
| 1
| יוני 1997
|
| מהדורה ראשונה
| גיא ל. סטיל ג'וניור
|-
| 2
| יוני 1998
|
| שינויים בעריכה כדי לשמור על התאמה מלאה של המפרט לתקן הבינלאומי ISO / IEC 16262
| מייק קוולישאו
|-
| 3
| דצמבר 1999
|
| נוספו ביטויים רגולריים, טיפול טוב יותר במחרוזות, הצהרות בקרה חדשות, טיפול בחריגות נסה / תפוס, הגדרה הדוקה יותר של שגיאות, עיצוב לפלט מספרי ושיפורים אחרים.
| מייק קוולישאו
|-
| 4
| נטוש (טיוטה אחרונה 30 ביוני 2003)
|
| המהדורה הרביעית ננטשה, בגלל הבדלים פוליטיים הנוגעים למורכבות השפה. תכונות רבות שהוצעו למהדורה הרביעית נפלו לחלוטין; חלק שולבו במהדורה השישית.
|
|-
| 5
| דצמבר 2009
|
| מוסיפה "מצב קפדני": קבוצת משנה המיועדת לספק בדיקת שגיאות מעמיקה יותר ולהימנע מתבניות המועדות לטעות. מבהירה את העמימויות הרבות במפרט המהדורה השלישית, ומתאימה להתנהגות של יישומים בעולם האמיתי שחרגו בעקביות ממפרט זה. מוסיפה כמה תכונות חדשות, כגון Getters and setters, תמיכה בספרייה עבור JSON, והשתקפות מלאה יותר על מאפייני האובייקט. <ref></ref>
| פראטאפ לקשמן, אלן ווירפס-ברוק
|-
| 5.1
| יוני 2011
|
| מהדורה זו 5.1 של תקן ECMAScript מתואמת לחלוטין למהדורה השלישית של התקן הבינלאומי ISO / IEC 16262: 2011.
| פראטאפ לקשמן, אלן ווירפס-ברוק
|-
| 6
| יוני 2015<ref name="ES2015"></ref>
| ECMAScript 2015 (ES2015)
|
| אלן ווירפס-ברוק
|-
| 7
| יוני 2016<ref name="ES2016"></ref>
| ECMAScript 2016 (ES2016)
|
| בריאן טרלסון
|-
| 8
| יוני 2017<ref name="ES2017"></ref>
| ECMAScript 2017 (ES2017)
|
| בריאן טרלסון
|-
| 9
| יוני 2018<ref name="ES2018"></ref>
| ECMAScript 2018 (ES2018)
|
| בריאן טרלסון
|-
| 10
| יוני 2019<ref name="ES2019"></ref>
| ECMAScript 2019 (ES2019)
|
| בריאן טרלסון, בראדלי פריאס, ג'ורדן הרבנד
|-
|11
|יוני 2020
|ECMAScript 2020 (ES2020)
|
| ג'ורדן הרבנד וקווין סמית'
|-
|12
|יוני 2021
|ECMAScript 2021 (ES2021)
|
| ג'ורדן הרבנד, מייקל פיקרה, קווין גיבונס, שו-יו גו
|}
*

== הערות שוליים ==

קטגוריה:ערכים שבהם תבנית אתר רשמי אינה מתאימה להוספה אוטומטית
קטגוריה:תקנים בתחום המחשוב