Почему в одном и том же случае поведение ведет себя по-разному?

Я прочитал объяснения для... в и для..., но потом столкнулся с такой ситуацией, когда в одном и том же случае они ведут себя по-разному.

//case1
function avg(...args) {
   var sum = 0;
   for (let value of args) {
     sum += value;
    }
    return sum / args.length;
}
console.log(avg(2,3,4,5));

//case2
const people = function(param1, param2, ...rest) {
   console.log(param1);
   console.log(param2);
   for(let i in rest) {
       console.log(rest[i]);
   }
}
people('Foo', 'Bar', 'Catz', 'Dogz');

Итак ...args & ...rest массивы (объект) правильно? Я думаю, что case1 является правильным и ведет себя так, как это объясняется во многих источниках (например, MDN для... of)

В чем их разница, почему в случае 2 для... в работах, а не для... из?

0 ответов

Другие вопросы по тегам