0

我阅读了 for...in 和 for...of 的解释,但随后遇到了这种情况,在相同的情况下它们的行为不同。

//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 for...of

他们有什么区别,为什么在case2 for...in 工作而不是 for...of ?

4

0 回答 0