node.js - node --harmony不起效果 --harmony_destructuring卻可以?
問題描述
我在node上使用一些ES6新特性,比如解構賦值.結果卻發現一個神奇的現象node --harmony a.js不起效果而node --harmony_destructuring a.js 才能起效
比如 我寫了一個test.js,內容如下:
var [a, b, c] = [1, 2, 3];console.log(a,b,c);
很顯然,這就是一個實驗解構賦值的例子
然后我在命令行里輸入node --harmony test.js報錯信息如下:
/Users/chuck7/repository/test/test.js:5var [a, b, c] = [1, 2, 3]; ^SyntaxError: Unexpected token [ at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:373:25) at Object.Module._extensions..js (module.js:416:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) at Function.Module.runMain (module.js:441:10) at startup (node.js:139:18) at node.js:968:3
如果用node --harmony_destructuring test.js就可以正確輸出
1 2 3
這是神馬情況? --harmony不是開啟所有harmony選項嗎?
注: 以上實驗在node v4.4.5 版本上運行
問題解答
回答1:謝謝邀請.其實你的問題可以在官方文檔中找到:https://nodejs.org/en/docs/es6/.對于es6的功能分成了3個部分:shipping, staged 和 in progress.shipping功能:這些功能是已經穩定的。已經寫入了node.js中的,直接就可以使用staged功能:此功能是幾乎完成的功能,但是v8團隊沒有考慮穩定性,需要使用--harmony.in progress功能: 此功能是需要寫出標簽的,比如你上面寫的--harmony_destructuring.你可以通過下面的命令查看
node --v8-options | grep ’in progress’
相關文章:
1. javascript - vscode alt+shift+f 格式化js代碼,通不過eslint的代碼風格檢查怎么辦。。。2. javascript - 如何將一個div始終固定在某個位置;無論屏幕和分辨率怎么變化;div位置始終不變3. html5 - 有可以一次性把所有 css外部樣式轉為html標簽內style=" "的方法嗎?4. javascript - 有什么比較好的網頁版shell前端組件?5. java - 如何寫一個intellij-idea插件,實現編譯時修改源代碼的目的6. javascript - 原生canvas中如何獲取到觸摸事件的canvas內坐標?7. java 中Long 類型如何轉換成Double?8. javascript - 求解答:實例對象調用constructor,此時constructor內的this的指向?9. html - vue項目中用到了elementUI問題10. javascript - [js]為什么畫布里不出現圖片呢?在線等
