2017-04-11 16 views
0

JavaScriptでは、コレクションからの配列の作成はArray.from(collection)で行われますが、コレクションからのSetの作成はnew Set(collection)で行われます。このアシンメトリーの理由はありますか? nは整数Array.from vs new Set

new Array(n) 

+0

アレイは非常に特殊な「コレクション」タイプですか? –

答えて

1

Arrayコンストラクタは、2つの方法で呼び出すことができます。これにより、未定義の要素nの配列が作成されます。

new Array(e1, e2, e3, ...) 

これは要素e1e2e3あるなど、

[e1, e2, e3, ...] 

を書くに似て使用すると、1つの引数を持つコンストラクタを呼び出すと、それは整数ではない場合、それは次のように扱われます配列を作成します第2フォーマットの場合。これは、その値が引数である1つの要素を持つ配列を作成します。

したがって、new Array(collection)を実行すると、最初の要素がコレクションである配列が作成されます。コレクションを広げるためにこれを変更すると、一部のプログラムを壊す可能性のある互換性のない変更になります。そこで、彼らはこれを行う新しい方法を定義しました。

関連する問題