帮忙解释一下输出结果,谢谢

108 阅读1分钟
function fn(...rest) {
  console.log(rest); // {} {id: 1} {id: 2}
  let source = [...rest]
  console.log(source);  // {} {id: 1} {id: 2}
  if (rest.length > 1) {
    source.shift()
  }
  console.log(source); // {id: 1} {id: 2}
}
fn({},{id: 1}, {id: 2})
    
    
    为什么浏览器输出的结果是这样的
    
![](https://user-gold-cdn.xitu.io/2020/4/2/1713a9cb27c6bdb4?w=209&h=296&f=png&s=6327)