トップページ > プログラム > 2015年02月19日 > /+bx2aTM

書き込み順位&時間帯一覧

33 位/235 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000001000001002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
JavaScript 4©2ch.net

書き込みレス一覧

JavaScript 4©2ch.net
88 :デフォルトの名無しさん[sage]:2015/02/19(木) 15:27:06.03 ID:/+bx2aTM
なにがArrayLikeかは難しいよ。どういう目的で区別するかで変わると思う。なぜなら何を配列と見立てられるかは用途によって変わるから。
例えば配列に変換したいという場合なら、ES6のArray.fromを参考にすると、
lengthを持っているか(オブジェクトでなくともラッパーのプロトタイプにあればいい)、イテラブルならOK。
これが広義のArrayLikeだろう。

またはArray.prototype.concatで、引数をSpreadすべきかどうかなら、実は配列かどうかというチェックだと問題がある。
だからES6からは@@isConcatSpreadableのチェックに変わった。
要するに「一般的なArrayLikeの判定」を定義するのは無理というか、しても役に立つものにならないと思う。
JavaScript 4©2ch.net
91 :デフォルトの名無しさん[sage]:2015/02/19(木) 21:45:10.46 ID:/+bx2aTM
ToObjectがかかっているのは、null/undefinedはじきや、Getやらもろもろの処理がObjectであることを期待しているためだからであって、処理の本質とはあまり関係ないけどね。
あとToLengthはInt32でなく2^53-1までの整数。
長さを拡張すべきという問題が出て、Arrayに関しては互換性問題で見送られたけど、型付配列は長さ2^53-1までになったから、ここに関しても絶対基準はないと思う。
別にこの範囲でなくともエラーになるわけではなくて、範囲に収まるように強制されるだけだし。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。