2016-12-06 4 views
0

私はES6の初心者です。 spreadパラメータの型を知りたかっただけです。 http://es6-features.org/#RestParameter 私は理由を説明することができる拡散パラメータのtypeofを印刷できない理由はわかりません。Es6 Restypeパラメータのタイプがスローエラー

以下のスニペットを見つけてください:

function restify(...x){ 
    console.log(typeof (...x)); 
} 
restify([1,2,3,5,]); 
+0

なぜあなたは 'typeof'の中に再び広がっていますか? – Carcigenicate

+0

なぜ、疎配列( '[1,2,3,5、]')を渡していますか?最後のエントリは空です。 – nils

+0

あなたは何をしたいですか? 'x'は常に配列になります。 – zeroflagL

答えて

0

あなたが唯一のパラメータの定義Objectを出力します

const restify = (...x) => { 
    console.log(typeof x); 
} 

restify([1, 2, 3, 4, 5]); 

に拡散演算子を使用する必要があります。私はまた、ES6機能ですconstarrow functionsは、使用typeof xhttp://es6-features.org/

+1

_ "パラメータ定義でのみスプレッド演算子を使用する必要があります" _ "パラメータ定義でのみ"という意味が不明ですか?注 '...'は演算子ではありません。http://stackoverflow.com/questions/37151966/what-is-spreadelement-in-ecmascript-documentation-is-it-the-same-as-spread-oper – guest271314

+0

'。 ..'は演算子です。https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Spread_operator – mattias

+0

1)あなたが参照している記事はspread ** syntax **と言っていますが、演算子ではありません。 2)それは質問とは関係がありません。 OPは残りのパラメータを使用します。 – zeroflagL

0

をチェックしてください使用しました。

function restify(...x){ 
    console.log(typeof x); 
} 
restify([1,2,3,5,]); 
+0

返事をありがとう。私は説明と答えを得た – Rakesh

+0

@レイクいいえ心配しないでください。 _「説明付きの答えがあります」_あなたが何を意味するのか分かりませんか? 'typeof(... x)'を呼び出すと期待された結果は何でしたか? – guest271314

+1

明らかに私は間違った方法で使用していました。もし私がtypeof spread変数を出力する必要があるならば、私が上記の答えから理解した説明である間違った方法でそれを使用していた拡散演算子を追加する理由はありません。 – Rakesh

関連する問題