исторически для преобразования любого массивоподобного объекта, т.е коллекций юзается Array.prototype.slice.call(likeArrayObject), хотя могут использоваться и другие методы массива, возвращающие новый массив. Исключение- объект arguments, с которым так делать нельзя из-за V8 perfomace bug, по этому с ним там другой подход.