node.js - node --harmony不起效果 --harmony_destructuring卻可以?
問題描述
我在node上使用一些ES6新特性,比如解構(gòu)賦值.結(jié)果卻發(fā)現(xiàn)一個(gè)神奇的現(xiàn)象node --harmony a.js不起效果而node --harmony_destructuring a.js 才能起效
比如 我寫了一個(gè)test.js,內(nèi)容如下:
var [a, b, c] = [1, 2, 3];console.log(a,b,c);
很顯然,這就是一個(gè)實(shí)驗(yàn)解構(gòu)賦值的例子
然后我在命令行里輸入node --harmony test.js報(bào)錯(cuò)信息如下:
/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選項(xiàng)嗎?
注: 以上實(shí)驗(yàn)在node v4.4.5 版本上運(yùn)行
問題解答
回答1:謝謝邀請(qǐng).其實(shí)你的問題可以在官方文檔中找到:https://nodejs.org/en/docs/es6/.對(duì)于es6的功能分成了3個(gè)部分:shipping, staged 和 in progress.shipping功能:這些功能是已經(jīng)穩(wěn)定的。已經(jīng)寫入了node.js中的,直接就可以使用staged功能:此功能是幾乎完成的功能,但是v8團(tuán)隊(duì)沒有考慮穩(wěn)定性,需要使用--harmony.in progress功能: 此功能是需要寫出標(biāo)簽的,比如你上面寫的--harmony_destructuring.你可以通過下面的命令查看
node --v8-options | grep ’in progress’
相關(guān)文章:
1. mysql - 把一個(gè)表中的數(shù)據(jù)count更新到另一個(gè)表里?2. mysql 查詢身份證號(hào)字段值有效的數(shù)據(jù)3. node.js - 為什么微信的消息MsgId出現(xiàn)重復(fù)了,無(wú)法排重了。。4. mysql的主從復(fù)制、讀寫分離,關(guān)于從的問題5. MySQL 截短某一列的字符串6. 請(qǐng)教使用PDO連接MSSQL數(shù)據(jù)庫(kù)插入是亂碼問題?7. mysql - 分庫(kù)分表、分區(qū)、讀寫分離 這些都是用在什么場(chǎng)景下 ,會(huì)帶來(lái)哪些效率或者其他方面的好處8. mysql - 字符串根據(jù)字典替換9. 視頻文件不能播放,怎么辦?10. node.js - nodejs開發(fā)中常用的連接mysql的庫(kù)
