ES6 pada io.js

io.js dikembangkan dengan versi modern dari V8. Dengan menjaga tetap teranyar dengan rilis terbaru dari engine ini kami memastikan fitur terbaru dari JavaScript ECMA-262 spesifikasi tersedia untuk pengembang io.js dengan tepat waktu, serta perbaikan yang berkelanjutan pada kinerja dan stabilitas.

Versi 3.3.1 dari io.js dikeluarkan dengan V8 4.4.63.30, yang meliputi ES6 fitur jauh melampaui versi 3.26.33 yang akan dikirim dengan joyent/node@0.12.x.

Tidak ada lagi --harmony flag

Di joyent/node@0.12.x (V8 3.26), --harmony flag runtime memungkinkan semua diselesaikan, staged dan in progress fitur ES6 bersama-sama, dalam jumlah besar (dengan pengecualian tidak standar/semantik non-harmonis untuk typeof yang tersembunyi di bawah--harmony-typeof). Ini berarti bahwa beberapa fitur yang sangat buggy atau bahkan rusak seperti proxy hanya sebagai tersedia untuk pengembang sebagai generators, yang memiliki sangat sedikit atau bahkan tidak ada yang diketahui-masalah. Dengan demikian, itu praktek terbaik baik memungkinkan hanya fitur tertentu dengan menggunakan flag fitur runtime harmoni tertentu (misalnya --harmony-generators), atau dengan mengaktifkan semua dari mereka dan kemudian menggunakan subset terbatas.

Dengan io.js (V8 4.1+), semua kerumitan itu hilang. Semua fitur harmoni sekarang dibagi dengan logis menjadi tiga kelompok untuk shipping, staged dan in progress fitur:

Apa saja fitur ES6 yang ada pada dengan io.js (tanpa flag runtime yang diperlukan)?

Anda dapat melihat daftar yang lebih rinci, termasuk perbandingan dengan engines lainnya, pada halaman proyek compat-table.

Apa saja fitur ES6 yang ada dalam flag --es_staging?

Fitur-fitur ES6 apa saja yang sedang dalam perkembangan?

Fitur-fitur baru ditambahkan ke dalam engine V8 secara konstan. Umumnya, diharapkan fitur-fitur tersebut untuk hadir dalam perilisan io.js kedepan, walaupun waktu pastinya tidak diketahui.

Anda dapat melihat fitur-fitur apa saja yang sedang dalam perkembangan di setiap perilisan io.js dengan meng-grep argumen --v8-options. Harap diketahui bahwa fitur-fitur V8 ini tidak lengkap dan ada kemungkinan masih rusak, jadi mohon ditanggung resikonya.

iojs --v8-options | grep "in progress"

Saya telah setup infrastruktur saya untuk memanfaatkan flag --harmony. Apakah harus saya hapus?

Fungsi flag --harmony pada io.js saat ini adalah untuk mengaktifkan fitur staged saja. Selain itu, fungsi tersebut adalah sinonim dari --es_staging. Seperti disebutkan di atas, fitur-fitur tersebut belum dianggap stabil. Jika Anda ingin aman, terutama pada lingkungan produksi, pertimbangkan untuk menghapus flag runtime ini sampai fitur-fitur tersebut menjadi fitur bawaan pada V8 dan io.js. Jika Anda tetap mengaktifkan ini, Anda harus bersiap-siap untuk mengganti sumber kode anda jika ada pembaruan io.js dan perubahan pada V8 terlalu signifikan.

Bagaimana cara menemukan versi V8 dengan versi tertentu dari io.js?

io.js menyediakan cara sederhana untuk membuat daftar semua dependensi dan versi masing-masing yang dikirimkan dengan biner tertentu melalui objek process global. Dalam kasus V8 engine, ketik kode dibawah ini di terminal Anda untuk menampilkan versinya:

iojs p process.versions.v8