如何正确遍历(迭代)JavaScript 对象的属性?
大家好!我刚开始学习 JavaScript,遇到了一个问题。我有一个包含用户数据的对象,需要将所有属性和值输出到控制台或页面上。我习惯使用数组,用 `for` 循环或 `forEach`,但对象的工作方式不同。
以下是我的对象示例:
```javascript
const user = {
name: '安娜',
age: 25,
city: '莫斯科',
isAdmin: false
};
```
我尝试这样做:
```javascript
for (let i = 0; i < user.length; i++) {
console.log(user[i]);
}
```
但这不起作用——`user.length` 返回 `undefined`。然后我尝试了 `forEach`:
```javascript
user.forEach((value, key) => console.log(key, value));
```
结果报错:`user.forEach is not a function`。我陷入了困境。请告诉我如何正确遍历对象的所有键和值?是否需要将对象转换为数组?遍历自有属性和通过原型继承的属性有区别吗?提前感谢!