2016-03-22 8 views
2

ノード5.9に--harmony_destructuringがロードされているため、ES6によって有効になった涼しい構造破壊の楽しさがほとんど得られます。しかし、this blog postは、私は次のように変数スワップを行うことができる必要があることを示しているようだ:ES6構文でノード5.9で変数を交換するための適切なアプローチは何ですか?

var [a,b] = [0,1]; 
[b,a] = [a,b]; //swaps the values of a and b 

しかしこれはinvalid left-hand assignmentエラーでノードに障害が発生しました。代わりに、変数を再定義する必要があります。

var [a,b] = [0,1]; 
var [b,a] = [a,b]; 

ブログの投稿に欠陥がありますか?これはNodeのES6の実装の詳細ですか?

+1

*「これはNode内のES6の実装の詳細ですか?」*はい。デフォルトでは、非構造化が有効になっていない理由があります。 –

答えて

1

ブログ投稿者はここになります。

Babel compiles your codeについては、以下に説明します。

"use strict"; 

var a = 0; 
var b = 1; 
//swaps the values of a and b 
var _ref = [a, b]; 
b = _ref[0]; 
a = _ref[1]; 
_ref; 

あなたは誤作動または1つのまたは2 ES6の機能を欠いているノードのバージョンでは、この動作を達成するためにbabel-nodeを使用することができます。

+0

ありがとう!素晴らしい記事のセット。私はこれを持っていることを確認するために、それぞれを詳細に調べるだけです。コレクションをまとめてくれてありがとう! –

+0

FWIWノード@ 6は、破壊を適切にサポートすると伝えられています:http://node.green/#destructuring--declarations – bevacqua

関連する問題