# ES6 ב io.js

נבנה לצד הגרסאות העדכניות של מנוע ה V8. שמירה על עדכניות ומודרניות מבטיחים לנו כפלטפורמה לספק את המלוא התכונות החדשות מJavaScript ECMA-262 specification מבעוד מועד. כמו כן, שיפורי ביצועים יציבות וכיוצא בזה.

גרסת 3.3.1 מובאת עם גרסת 4.4.63.30 של הV8 שכוללת תכונותֿ/פיצ׳רים מES6 (ראה למטה), בשונה מגרסת 3.26.33 של הV8 שמובאת עם גרסה 0.12 של joyent/node

אין יותר את הדגל --harmony

בגרסת 0.12 של Joyent/node דגל הזמן ריצה(--harmony) מדליק/מביא לשימוש את כל התכונות/פיצ׳רים ה״יציבים״, ב"staging", וב-״inprogress״/בפיתוח של ES6.(משמע, כי ייתכן ״באגים״, ״׳פיצ׳רים לא שלמים״ וכיוצא בזה. למשל: Arrow Function אשר זמינים בחופשיות לשימוש כמו: Generators (אשר כמעט יציבים לחלוטין). לכן, רוב המשתמשים מעדיפים להדליק דגלים ספציפים למשל: --harmony-generators. בגרסת 1.x של iojs (גרסת 4.1 של V8) אין כל מורכבות. כל הפ׳יצרים/תכונות של ES6 מחולקים ל3 תת קבוצות. shipping(יציב), staging, ובפיתוח.

איזה פיצ׳רים/תכונות מוגדרים כיציבים וזמינים ללא שימוש בדגלים ?

הינך יכול לצפות ברשימה המלאה, כולל השוואה עם מנועים אחרים/מקבילים. ראה: compat-table

איזה פיצ׳רים/תכונות מאופשרים על ידי הדלקת דגל ה --es_staging ?

אלו פיצ׳רים/תכונות נמצאים ב״פיתוח״ ?

פיצ׳רים/תכונות חדשים מתווספים באופן קבוע למנוע הV8. באופן כללי, אין הערכה מדוייקת מתי ייכנסו ליציבות בiojs. בכל גרסא של iojs ניתנת לך האפשרות לצפות בפיצ׳רים/תכונות שבפיתוח על ידי הרצה של הפקודה: iojs --v8-options | grep "in progress".( עלייך לדעת שפיצ׳רים אלו עלולים להיות ״שבורים״ וששימוש בהם הינו על אחריותך :)).

יש לי תשתית קיימת / פרוייקט שהתחלתי שמשתמש בדגל --harmony האם אני צריך להסיר אותו ?

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

איך אני בודק את גרסת מנוע הV8 בגרסת הiojs שאני מריץ ?

iojs מספק מידע על כל התלויות באובייקט הגלובלי(process), במקרה של הV8 הקלד את הפקודה הבא בטרמינל:iojs -p process.versions.v8