Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。票4最初にTypedArray.from()の動作から確認します。%TypedArray%.fromに記載されています。TypedArray.from()は三つの引数を受け取る事ができます。一つはsorurce、二つ目は省略可能でmapfn、三つ目は省略可能でthisArgです。sourceがイテレーター(@@iterator)を持つかどうか(iterableかどうか)で違います。イテレーターを持つ場合はイテレーターを用いて各要素を取得し、入れていきます。このとき、mapfnがundefined以外が渡されている場合はthisArgをthisとしてmapfnで変換した要素をいれることになります。6.)sourceがイテレーターを持たない場合はarray-likeであることを想定して動作します。1までの数値プロパティを順番に取得し、入れていきます。mapfnがundefined以外が渡されている場合の処理もイテレーターと同様に行います。TypedArray(object)の動作です。)に記載されています。こちらもまず、objectがイテレーターを持つかどうかになります。イテレーターを持つ場合はmapfnによる変換の部分を除きTypedArray.from(object)とした場合とほぼ同じ動作になります。6.)イテレーターを持たない場合もarray-likeと想定してどうすることになり、TypedArray.from(object)とほぼ同じ動作になります。7.以降)以上を踏まえ、Q1.の回答は第一引数のみ指定したTypedArray.from()とほぼ同じとなります。注意すべき違いがあります。TypedArray(object)は引数がObject型で、かつ、[[TypedArrayName]]や[[ArrayBufferData]]を内部に持たない場合の処理です。数値や、他のTypedArray、Bufferの場合は呼び出される処理が異なります。TypedArray(object)では変換のための第二引数以降をあたえることはできません。TypedArray(length)という形でコンストラクタ呼び出しを行って、TypeArrayオブジェクトを作成してからその中に要素を入れています。TypedArray(object)はコンストラクタによるオブジェクト作成そのものになり、各要素を入れ終わらないとオブジェクトの作成が完了しません。TypedArray(object)を呼び出しているわけでも、その逆でも無い事に注意してください。iterableやarray-likeに対する処理の仕方が同じであると言うだけで、オブジェクトが作られる工程は独立して存在します。TypedArray(object)はTypedArray.from()同様iterableもarray-likeも扱えることには変わりありません。よって、Q2.の回答は両方です。iterableであればiterableとして処理し、それ以外はarray-likeとなります。array-likeは想定であり、lengthプロパティなどが正しく設定されていない場合はエラーや予期せぬ動作になります。個の銅バッジリンク提示&詳細解説ありがとうございました。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。