こんにちは。

次のところで紹介されている、
Array.find についてなのですが

Array.prototype.find() - JavaScript | MDN
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/find

ほとんどのところはわかるのですが

var list = Object(this);
var length = list.length >>> 0;

このように書かれたところがわかりません。
thisは、配列がくると思うのですが、
それをObjectにキャストして、length をビット演算で求める...??
これは何をしているのでしょうか?

Arraylikeオブジェクトに対してArray.find.call するための仕組み?
うーん、それにしてもビット演算する理由がさっぱりです。

JSの高いレベルをお持ちの方、教えてください。
あるいは参考ページなど示していただければ助かります。

よろしくおねがいします。