首页 > 解决方案 > 为什么 for in 和 for of 循环不能正确显示复杂类型?

问题描述

我正在学习 JavaScript,我想知道为什么我不能在 for in 和 for of 循环内打印对象,而如果不在循环内我可以(见下文):

let arr = [{abc: '123'}, {xyz: '321'}];
let obj = {obj1:{abc: '123'}, obj2:{xyz: '321'}};

for(let x of arr)
{
  console.log(`${x}`);
}
for(let x of arr)
{
  console.log(`${x}`);
}

console.log(arr[0]); // this works
console.log(obj.obj1); // this works

有人可以解释一下为什么会这样,它一直在打印 [object object],我不知道为什么。我认为它应该打印整个对象及其内容

标签: javascriptobject

解决方案


推荐阅读