Node.js是針對現代版本的V8構建的,經過與該引擎的最新版本保持同步,咱們確保及時向Node.js開發人員提供JavaScript ECMA-262規範的新功能,以及持續的性能和穩定性改進。node
全部ECMAScript 2015(ES6)功能分爲三組,用於交付、階段和進行中的功能:git
--harmony
。harmony
標誌單獨激活,但除非出於測試目的,不然這是很是不鼓勵的,注意:這些標誌由V8公開,而且可能會在沒有任何棄用通知的狀況下更改。網站node.green基於kangax的compat-table,提供了各類版本的Node.js中支持的ECMAScript功能的完美概述。github
V8引擎不斷添加新功能,通常來講,指望它們落在將來的Node.js版本上,儘管時間尚不清楚。安全
你能夠經過grep --v8-options
參數列出每一個Node.js版本上可用的全部正在進行的功能,請注意,這些是不完整的,多是V8的損壞功能,所以使用它們須要你自擔風險:性能
node --v8-options | grep "in progress"
V8團隊一直在努力提升新語言功能的性能,以最終與EcmaScript 5及更早版本中的已轉換的或對應的原生保持一致,目前的進展狀況在網站上以six-speed跟蹤,顯示了ES2015和ESNext功能與其原生ES5相比的性能。測試
ES2015及更高版本引入的優化功能的工做經過性能計劃進行協調,V8團隊收集並協調須要改進的領域,並設計文檔來解決這些問題。優化
--harmony
標誌,我應該刪除嗎?Node.js上--harmony
標誌的當前行爲是僅啓用分階段功能,畢竟,它如今是--es_staging
的同義詞,如上所述,這些是還沒有被認爲穩定的完整特徵。若是你想要安全地玩,特別是在生產環境中,請考慮刪除此運行時標誌,直到它默認發佈在V8上,因此,在Node.js上也是。若是啓用此功能,則應準備好進一步的Node.js升級,若是V8更改其語義以更接近標準,則升級將破壞你的代碼。網站
Node.js提供了一種簡單的方法經過process
全局對象來列出附帶特定二進制文件的全部依賴項和相應版本,若是是V8引擎,請在終端中鍵入如下內容以檢索其版本:google
node -p process.versions.v8