如何遍历(迭代)JavaScript 对象的所有属性?
大家好!我刚开始学习 JavaScript,遇到了一个问题。我知道如何用 `for` 循环或 `for...of` 遍历数组,但当我尝试对普通对象做同样的事情时,却行不通。
下面是一个例子。我有一个包含用户信息的对象:
```javascript
const user = {
name: '安娜',
age: 25,
city: '莫斯科',
isAdmin: false
};
```
我想把这个对象的所有键和值输出到控制台。我尝试了这样做:
```javascript
for (let i = 0; i < user.length; i++) {
console.log(user[i]);
}
```
但控制台里什么也没有显示。然后我尝试了 `for...of`:
```javascript
for (let prop of user) {
console.log(prop);
}
```
结果报错了:`TypeError: user is not iterable`。
请问,如何正确遍历对象的所有属性?有没有一种通用的方法适用于所有情况?还是需要根据不同的情况使用不同的方法?非常感谢!