ECMAScript – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
מאין תקציר עריכה
מ החלפות (, האספה)
שורה 4:
| אתר = {{URL|http://www.ecma-international.org}}
}}
'''ECMAScript''' (או '''ES''') <ref>{{Cite book|url=https://books.google.com/books?id=WTZqecc9olUC|title=JavaScript Patterns|last=Stefanov|first=Stoyan|date=2010|publisher=O'Reilly Media, Inc.|isbn=9781449396947|page=5|quote=The core JavaScript programming language [...] is based on the ''ECMAScript'' standard, or ES for short.|access-date=2016-01-12}}</ref> הוא מפרט ל[[שפת תסריט|לשפת תסריט]] שמפורסם על ידי Ecma International. המפרט נוצר כדי לייצר אחידות במימושים של [[JavaScript]] המפותחים על ידי גורמים בלתי תלויים רבים. JavaScript נותרה היישום הנפוץ ביותר של ECMAScript מאז שפורסם התקן לראשונה, אך היו גם יישומים נוספים, כגון JScript ו- [[ActionScript]] . <ref>{{Cite web|title=A Short History of JavaScript|url=https://www.w3.org/community/webed/wiki/A_Short_History_of_JavaScript|website=W3C|accessdate=31 March 2017}}</ref> ECMAScript משמש בדרך כלל לתסריטים [[דף אינטרנט דינמי|בצד הלקוח]] [[World Wide Web|באינטרנט]], אך נעשה גם שימוש גובר והולך בכתיבת יישומי צד שרת המשתמשים ב-[[Node.js|Node.js.]]
 
== היסטוריה ==
המפרט פותח בתחילתו על ידי ברנדן אייך מ[[נטסקייפ|מנטסקייפ]]. בתחילה נקרא "מוקה", לאחר מכן "LiveScript" ולבסוף JavaScript.<ref>{{Cite web|last=Krill|first=Paul|url=http://www.infoworld.com/article/2653798/application-development/javascript-creator-ponders-past--future.html|title=JavaScript creator ponders past, future|publisher=InfoWorld|date=2008-06-23|accessdate=2013-10-31}}</ref> בדצמבר 1995, [[סאן מיקרוסיסטמס|Sun Microsystems]] ו-Netscape הכריזו על JavaScript בהודעה לעיתונות.<ref>{{Cite web|url=http://wp.netscape.com/newsref/pr/newsrelease67.html|archiveurl=https://web.archive.org/web/20020606002913/http://wp.netscape.com/newsref/pr/newsrelease67.html|archivedate=2002-06-06|title=Netscape and Sun announce JavaScript, the Open, Cross-platform Object Scripting Language for Enterprise Networks and the Internet|publisher=Netscape|date=1995-12-04|accessdate=2019-11-04}}</ref> בנובמבר 1996 הכריזה נטסקייפ על פגישה של ארגון התקנים Ecma International לקידום התקינה של JavaScript. <ref>{{Cite web|url=http://cgi.netscape.com/newsref/pr/newsrelease289.html|archiveurl=https://web.archive.org/web/19981203070212/http://cgi.netscape.com/newsref/pr/newsrelease289.html|archivedate=1998-12-03|title=Industry Leaders to Advance Standardization of Netscape's JavaScript at Standards Body Meeting|publisher=Netscape|date=November 15, 1996|accessdate=2013-10-31}}</ref> המהדורה הראשונה של ECMA-262 אומצה על ידי האסיפההאספה הכללית של אקמה ביוני 1997. מאז פורסמו כמה מהדורות של תקן השפה. השם "ECMAScript" היה פשרה בין הארגונים העוסקים בתקינה של השפה, ובמיוחד נטסקייפ ומיקרוסופט, שהמחלוקות בהן שלטו במפגשי הסטנדרטים המוקדמים. אייך העיר כי "ECMAScript תמיד היה שם מסחרי לא רצוי שנשמע כמו [[דרמטיטיס|מחלת עור]] ." <ref>{{Cite web|url=https://mail.mozilla.org/pipermail/es4-discuss/2006-October/000133.html|title=Will there be a suggested file suffix for es4?|publisher=Mail.mozilla.org|date=2006-10-03|accessdate=2013-10-31}}</ref> ECMAScript נעשה פורמלי באמצעות "סמנטיקה ביצועית", תוצר של אוניברסיטת [[אוניברסיטת סטנפורד|סטנפורד]] והמחלקה למחשוב ב[[אימפריאל קולג']] לצורך ניתוח אבטחה וסטנדרטיזציה. <ref>{{Cite web|url=http://theory.stanford.edu/people/jcm/papers/aplas08-camera-ready.pdf|title=An Operational Semantics for JavaScript|publisher=[[Association for Computing Machinery]]|first=Sergio|last=Maffeis|first2=John C.|last2=Mitchell|first3=Ankur|last3=Taly}}</ref>
 
בעוד שגם JavaScript וגם JScript שואפים להיות תואמים ל-ECMAScript, שניהם מספקים גם תכונות נוספות שלא מתוארות במפרטים של ECMA. <ref>{{Cite web|url=http://javascript.about.com/od/reference/a/jscript.htm|title=JavaScript and JScript: What's the Difference?|publisher=About.com|date=2015-11-25|archiveurl=https://web.archive.org/web/20151126040655/http://javascript.about.com/od/reference/a/jscript.htm|archivedate=2015-11-26}}</ref> <ref>{{Cite web|url=https://www.thoughtco.com/javascript-and-jscript-whats-the-difference-2037681|title=JavaScript and JScript: What's the Difference?|publisher=ThoughtCo.com|date=2019-07-03|accessdate=2019-11-04}}</ref>
 
=== גרסאות ===
ישנן עשר מהדורות של ECMA-262 שפורסמו. העבודה על גרסה 10 לתקן הסתיימה ביוני 2019. <ref name="ES2019">{{Cite web|title=ECMAScript 2019 Language Specification|url=http://www.ecma-international.org/ecma-262/10.0/index.html|date=June 2019|publisher=[[Ecma International]]}}</ref>
{| class="wikitable"
! מהדורה
! התאריך שפורסם
! style="width: 13em;" | שם
! שינויים מהמהדורה הקודמת
! עורך
|-
| 1
| יוני 1997
|
| מהדורה ראשונה
| גיא ל. סטיל ג'וניור
|-
| 2
| יוני 1998
|
| שינויים בעריכה כדי לשמור על התאמה מלאה של המפרט לתקן הבינלאומי ISO / IEC 16262
| [[מייק קאולישו|מייק קוולישאו]]
|-
| 3
| דצמבר 1999
|
| נוספו [[ביטוי רגולרי|ביטויים רגולריים]], טיפול טוב יותר במחרוזות, הצהרות בקרה חדשות, טיפול בחריגות נסה / תפוס, הגדרה הדוקה יותר של שגיאות, עיצוב לפלט מספרי ושיפורים אחרים.
| מייק קוולישאו
|-
| 4
| ''נטוש'' (טיוטה אחרונה 30 ביוני 2003)
|
| המהדורה הרביעית ננטשה, בגלל הבדלים פוליטיים הנוגעים למורכבות השפה. תכונות רבות שהוצעו למהדורה הרביעית נפלו לחלוטין; חלק שולבו במהדורה השישית.
|
|-
| 5
| דצמבר 2009
|
| מוסיפה "מצב קפדני": קבוצת משנה המיועדת לספק בדיקת שגיאות מעמיקה יותר ולהימנע מתבניות המועדות לטעות. מבהירה את העמימויות הרבות במפרט המהדורה השלישית, ומתאימה להתנהגות של יישומים בעולם האמיתי שחרגו בעקביות ממפרט זה. מוסיפה כמה תכונות חדשות, כגון Getters and setters, תמיכה בספרייה עבור [[JSON]], [[Reflection (תכנות)|והשתקפות]] מלאה יותר על מאפייני האובייקט. <ref>{{Cite web|url=https://www.youtube.com/watch?v=Kq4FpMe6cRs|title=Changes to JavaScript, Part 1: EcmaScript 5|publisher=YouTube|date=2009-05-18|accessdate=2013-10-31}}</ref>
| פראטאפ לקשמן, אלן ווירפס-ברוק
|-
| 5.1
| יוני 2011
|
| מהדורה זו 5.1 של תקן ECMAScript מתואמת לחלוטין למהדורה השלישית של התקן הבינלאומי ISO / IEC 16262: 2011.
| פראטאפ לקשמן, אלן ווירפס-ברוק
|-
| 6
| יוני 2015 <ref name="ES2015">{{Cite web|url=http://www.ecma-international.org/ecma-262/6.0/index.html|title=ECMAScript 2015 Language Specification|date=June 2015|publisher=[[Ecma International]]}}</ref>
| ECMAScript 2015 (ES2015)
| ראה מהדורה 6 - ECMAScript 2015
| אלן ווירפס-ברוק
|-
| ז
| יוני 2016 <ref name="ES2016">{{Cite web|title=ECMAScript 2016 Language Specification|url=http://www.ecma-international.org/ecma-262/7.0/index.html|date=June 2016|publisher=[[Ecma International]]}}</ref>
| ECMAScript 2016 (ES2016)
| ראה מהדורה 7 - ECMAScript 2016
| בריאן טרלסון
|-
| 8
| יוני 2017 <ref name="ES2017">{{Cite web|title=ECMAScript 2017 Language Specification|url=http://www.ecma-international.org/ecma-262/8.0/index.html|date=June 2017|publisher=[[Ecma International]]}}</ref>
| ECMAScript 2017 (ES2017)
| ראו מהדורה 8 - ECMAScript 2017
| בריאן טרלסון
|-
| 9
| יוני 2018 <ref name="ES2018">{{Cite web|title=ECMAScript 2018 Language Specification|url=http://www.ecma-international.org/ecma-262/9.0/index.html|date=June 2018|publisher=[[Ecma International]]}}</ref>
| ECMAScript 2018 (ES2018)
| ראה מהדורה 9 - ECMAScript 2018
| בריאן טרלסון
|-
| 10
| יוני 2019 <ref name="ES2019">{{Cite web|title=ECMAScript 2019 Language Specification|url=http://www.ecma-international.org/ecma-262/10.0/index.html|date=June 2019|publisher=[[Ecma International]]}}</ref>
| ECMAScript 2019 (ES2019)
| ראה המהדורה העשירית - ECMAScript 2019
| בריאן טרלסון, בראדלי פריאס, ג'ורדן הרבנד
|}
*
 
*
 
== הערות שוליים ==