io.js ile ES6

io.js, V8 javascript motorunun en modern sürümüyle derlenmiştir. Bu motoru güncel sürümde tutarak JavaScript ECMA-262 tanımlayıcı dökümanı ile belirtilmiş yeni özelliklere io.js geliştiricilerinin en kısa zamanda ulaşmasını sağlıyoruz, bu arada performans ve kararlığın arttırılmasına devam ediyoruz.

io.js 1.1.0 sürümü V8 4.4.63.30 sürümüyle gelmektedir, ayrıca joyent/node@0.12.x sürümünde bulunan V8 3.26.33 motoruna göre daha gelişmiş ES6 özelliklerine sahiptir.

--harmony bayrağına gerek yok

joyent/node@0.12.x (V8 3.26) sürümü ile --harmony bayrağı tüm tamamlanmış, düzenleme ve geliştirme durumunda ki ES6 özellikleri aktif eder. (--harmony-typeof bayrağı altında gizlenen typeof için anlamsal standart/uyumlu olmayan istisnalarıda içerir) Bu bayrağın belirtilmesi ile proxies gibi bazı bozuk veya hatalı özellikleri ile geliştiricilerin kullanımına hazır, az veya hiç hata belirtilmemiş generators gibi özelliklerde aktif olacaktır.
Belirtilen sebeplerden ötürü en mantıklı uygulamalar, bazı özellikleri aktif etmek için özel bayraklar belirlemek (örn: --harmony-generators) veya tüm özellikleri etkinleştirip, daha sonra bir alt komut setini sınırlamak olacaktır.

io.js (V8 4.1+) sürümüyle beraber tüm bu karmaşıklık ortadan kalkmaktadır. Tüm ES6 (harmoni) özellikleri taşınıyor, düzenleme ve geliştirme olmak üzere mantıksal üç gruba ayrılmıştır. Bu özellikler;

io.js üzerinde varsayılan olarak gelen ES6 özellikleri hangileridir (çalışma bayrağı gerektirmez) ?

Ayrıntılı bir liste arıyorsanız, diğer derleyici motorlarının karşılaştırıldığı compat-tablo proje sayfasına bakabilirsiniz.

--es_staging bayrağı ile kullanılabilen ES6 özellikleri nelerdir?

--harmony bayrağı kullanan bir alt yapıya sahibim. Bu bayrağı kaldırmalımıyım?

io.js üzerinde --harmony bayrağı sadece düzenleme durumunda ki özelliklleri etkinleştirir. Diğer tüm özellikler için eş değer bayrak, --es_staging bayrağı kullanılmalıdır. Yukarıda da belirtildiği üzere bu bayrak halen kararlı olmamış özellikleri kapsar. Eğer güvenli bir kullanım isterseniz veya üretim ortamında çalışıyorsanız, özellikler io.js üstünde ve dolayısıyla V8 üstünde varsayılan olarak kullanılana kadar bu bayrağı kaldırmayı düşünmelisiniz. Eğer bu bayrağı etkin olarak kullanmaya devam ederseniz, V8 üstünde yapılacak standartlara uygun yapısal değişikliklerde, io.js güncellemelerinin kodunuzu çalışamaz hale getirebileceğine hazırlıklı olmanız gerekmektedir.

io.js'in hangi V8 sürümünü kullandığını nasıl bulabilirim?

io.js basit bir şekilde, tüm bağımlılıkları ve ilgili sürümleri listelemek için global process nesnesini sunar. V8 motorunun sürüm bilgisini öğrenebilmek için uç birim ekranına aşağıdaki komut satırını yazmanız yeterlidir:

iojs -p process.versions.v8