ECMAScript היא ספסיפקציה לשפת סקריפט, היא לא שפה אמיתית. במקור, ECMA הן ראשי תבות של European Computer Manufacturers Association – התאחדות אירופאית לייצרני מחשבים. ארגון ללא מטרות רווח שמטרתו הנוכחית היא להתוות סטנדרטים לתקשורת. השם הנוכחי שלו אגב הוא Ecma כיוון שהוא הפך לארגון גלובלי ולא אירופאי בלבד. הסטנדרט המוכר ביותר של הארגון הוא ECMAScript. שפת JavaScript בנויה על בסיס הסטנדרטים של ECMAScript – כלומר ECMAScript הן ההוראות שלפיו JavaScript צריכה להתיישר.
בדיוק כמו גרסאות, כך גם ECMAScript יוצאת כל פעם בתקן חדש של תוספות וחידושים. עד לא מזמן, כולנו עבדנו ב-ECMAScript 5 שפורסמה בשנת 2009. בתקן הזה היתה כבר תמיכה אינהרנטית בפורמט JSON (בעבר היינו צריכים להכניס פונקציות ייחודיות שיטפלו בפורמט הנתונים הזה). התקן האחרון של ECMAScript הוא תקן 6 והוא יצא לאור ביוני 2015. כלומר ממש לא מזמן. התקן הזה כולל ממש רפורמה של השפה ושינויים רבים ותוספות פונקציונליות. בגדול, ניתן לחלק את השינויים לשלוש קטגוריות: הראשונה היא תיקון באגים ובעיות ב-ECMAScript 5, השני הוא תוספות משמעותיות לשפה והשלישי הוא Syntactic Sugar – כלומר שינויים שנועדו להפוך את השפה ליותר קריאה.
לא כל הדפדפנים הטמיעו עדיין את ECMAScript 6, או יותר נכון, הם לא מריצים את JavaScript לפי התקן החדש. ככל שעובר הזמן והדפדפנים מתעדכנים, כך התמיכה שלהם בתקן הולכת וגדלה. נכון לכתיבת שורות אלו, לא כל הדפדפנים תומכים באותה המידה בתקן. באתר הזה ניתן לצפות בתמיכה של הדפדפנים והגרסאות השונות של node.js בפיצ'רים של ECMAScript 6.
העבודה והתמיכה ב-ECMAScript 6 הפכה להיות יותר ויותר רלוונטית ככל שהזמן מתקדם וגם הודות לקומפיילרים חדשים (שאליהם אתייחס בסוף המדריך). במיוחד למתכנתי node.js שיכולים לקבוע את הסביבה שלהם, אבל גם למתכנתים בסביבת דפדפן. הגיע הזמן להתחיל ללמוד את כל הפיצ'רים של ECMAScript 6 באופן מסודר. במאמר הזה ובאלו שאחריו אני אעבור על כל הפיצ'רים החדשים של ECMAScript 6, אתן דוגמאות (גם חיות) ואסביר על כל פיצ'ר ופיצ'ר בצורה מסודרת. אני יוצא מנקודת הנחה שאתם יודעים JavaScript בסיסי ויודעים איך להתמודד עם אובייקטים ב-JavaScript.
סביבת העבודה
בגדול מדובר בסביבת עבודה של JavaScript. אנחנו יכולים לעבוד בסביבת node.js או בסביבת דפדפן. לכל סביבת עבודה יש את הדגשים שלה.
סביבת עבודה ולמידה מבוססת node.js
אם אתם מתכנתי בק אנד שמכירים את node.js (או שיש לכם זמן לעבור על המדריכים שכתבתי על node.js) אתם מוזמנים לשדרג את גרסת ה-node.js שלכם לגרסה האחרונה. אני מדגים ומסביר על גרסה 6, שנכון לכתיבת שורות אלו היא האחרונה. קחו בחשבון שאם יש גרסה חדשה יותר, עדיף להשתמש בה כי סביר להניח שהתמיכה שלה ב-ECMAScript 6 תהיה הטובה ביותר. על מנת לוודא מה הגרסה שלכם, פיתחו את הקונסולה (לינוקס או חלונות) והקליקו:
node -v
על מנת לעדכן את node.js לגרסה החדשה ביותר, כדאי להכנס לאתר של node ולעדכן את הגרסה בהתאם לפלטפורמה שלכם (חלונות, מק או לינוקס).
את כל הדוגמאות כדאי לכתוב על קובץ js כלשהו (למשל es6.js) ולהריץ אותו באמצעות
node es6.js
כדי להסתכל על התוצאה. לא לשכוח להדפיס תוצאה ב-console.log אם צריך.
סביבת עבודה ולמידה מבוססת דפדפן
אם אתם מתכנתי פרונט אנד שלא מכירים את node.js, אפשר לכתוב את הדוגמאות והניסויים בקובץ ולשמור אותו או בשרת מקומי אם יש לכם כזה או על המחשב. אם אתם שומרים אותו על המחשב, חשוב לוודא שאתם:
- פותחים אותו עם הדפדפן המתאים, כיוון שלא כל הדפדפנים ולא כל הגרסאות תומכות עדיין ב-ECMAScript 6 באופן אחיד (לפחות במאי 2016, התאריך שבו השורות האלו נכתבות).
- הדפדפן יכול להריץ JavaScript באופן מקומי בלי בעיות. צריך להריץ או לשנות את ההגדרות של הדפדפן באופן יזום על מנת לאפשר את זה.
ניתן גם להשתמש באחד משירותי האונליין לכתיבת קוד והרצה שלו מיידית כמו JSFiddle או CodePen. גם כאן, כשאתם מריצים קוד ובודקים את התוצאה, אל תשכחו לוודא שהדפדפן שאיתו אתם עובדים תומך בפיצ'ר הספציפי שאיתו אתם עובדים. להזכירכם, האתר להשוואה נמצא כאן.
במאמרים הבאים אנחנו נתחיל לעבור פיצ'ר אחרי פיצ'ר, להדגים ולהסביר על ECMAScript 6.
7 תגובות
(לפחות במאי 2016, התאריך שבו השורות האלו נכתבות) ?
לא את הכל אני משחרר מייד. במיוחד מדריכים 🙂 אני נותן להם 'לנוח', קורא אותם שוב אחר כך, מתקן ומשפץ ורק אז מפרסם.
לא הבנתי בכלל מה השפה הזאת עושה ולמה היא מיועדת
זה הסטנדרט החדש של ג׳אווהסקריפט, שפה וותיקה שרצה על גבי הדפדפן. המאמרים האלו מיועדים למתכנתים שמכירים את השפה הזו ומשתמשים בה.
לא הבנתי מה זה ecmascript עדיןןןןןןןן?????????
אתר יקר
לא הבנתי מה זה ecmascript עדיןןןןןןןן?????????
אתר יקר
לא הבנתי מה זה ecmascript עדין?????????