JavaScriptのArray.from()とちょっと混乱します。私は配列のような値を配列に変換すると思いますが、Arrayがオブジェクトであれば、それをインスタンス化するために 'new'キーワードを使用する必要はありませんか?JSでArray.from()を使用
答えて
Array
は関数、関数はオブジェクト、オブジェクトはプロパティを持ちます。 from
は、そのオブジェクトの単なるプロパティです。 Array
が関数であり、がと呼び出されるという事実は、new
で呼び出されるということは無関係です。
例:
function foo() {}
foo.bar = function() {
console.log('hi');
}
foo.bar(); // hi
おそらくArray
にプロパティとしてfrom
を追加するための主な理由は、(代わりに別のグローバル関数を作成する)、それを名前空間にあります。
ありがとうございます。しかし、おそらくそれは愚かな質問かもしれませんが、Arrayは静的な関数であり、その配列には型があるので、.from()メソッドも利用できると宣言していますアレイ?その方法を持っていても、配列上では役に立たないだろう...私は全く意味をなしているのだろうか? – Joshua
No.アレイは 'Array.prototype'で定義されたすべてのメソッドを継承し、' Array'ではそれを継承しません。クラスメソッドとして 'Array.from'を考えてみましょう。それはクラスで定義されていて、インスタンスでは定義されていません。上記の例のように、 'var f = new foo();'を実行した場合、 'f'は' bar'メソッドを持たないでしょう。関数とプロトタイプの詳細については、http://felix-kling.de/jsbasics/#/10をご覧ください。 –
2番目の理由は、サブクラス化を許可することかもしれません:-) – Bergi
JavaScriptにはいくつかのコレクションタイプ(HTMLCollection、NodeList、FileList、 'arguments'など)があります。後者は、関数に渡されるすべての引数を含む変数です。
イメージングには、通常の配列を使用してデータを渡す必要がある関数があります。その場合、Array.from(..)は他のコレクション型の変換に非常に便利です。
- 1. Array.fromをXPathResultで使用する方法?
- 2. Array.from vs new Set
- 3. typescript Array.from in IE11
- 4. Array.from in Internet Explorer
- 5. babel:polyfill Array.from for IE11 support
- 6. 配列はjavascriptでarray.fromを使用して生成されません
- 7. Array.from()とスプレッドの構文
- 8. JS変数でJS変数を使用
- 9. jsファイルをjsファイルで使用する
- 10. Array.from(..)は動作しません
- 11. Magentoでnoconflict jsを使用
- 12. Fullcalendarでブートストラップモーダルを使用js
- 13. JSでプロトタイプコンストラクタを使用
- 14. D3をAngular JSで使用
- 15. JSでセパレータを使用
- 16. ノードでオフライン.jsを使用
- 17. フロータイプアノテーションを持つjsでjsdocを使用
- 18. 使用アレイC3.js
- 19. Framework7でJSを使用するには?
- 20. モジュラーJSで約束を使用
- 21. mongodbでノードjsを使用してフィルタ
- 22. Parsley jsでカスタム検証を使用
- 23. non-jsエントリポイントでwebpackを使用する
- 24. NodeJSでJSチャートライブラリを使用する
- 25. jQueryをReact JSで使用する
- 26. Vue JS - コンポーネントでv-ifを使用
- 27. jsファイル内でコンパイルハッシュを使用
- 28. アンサンブル4でjsウィジェットを使用
- 29. 私のpythonプログラムでD3.jsを使用
- 30. EmacsでJS-comintとNode.jsを使用
'from'はインスタンス化された配列を満たすインスタンスメソッドではなく、' Array'クラス自体の静的メソッドです。 – Bergi