forof和forin的区别
时间: 2024-04-24 12:24:05 浏览: 144
for...of 和 for...in 是 JavaScript 中两种不同的循环语法,它们有以下区别:
1. for...of 循环用于遍历可迭代对象(例如数组、字符串、Set、Map 等)。它通过迭代对象的值来进行循环,而不是索引或属性。示例代码如下:
```javascript
const iterable = [1, 2, 3];
for (const value of iterable) {
console.log(value);
}
// 输出:1 2 3
```
2. for...in 循环用于遍历对象的可枚举属性(包括继承的属性)。它通过迭代对象的属性名来进行循环,而不是属性值。示例代码如下:
```javascript
const object = { a: 1, b: 2, c: 3 };
for (const key in object) {
console.log(key);
}
// 输出:a b c
```
需要注意的是,for...in 循环不仅会遍历对象自身的属性,还会遍历继承的属性。如果你只想遍历对象自身的属性,可以使用 `Object.hasOwnProperty()` 方法进行过滤。
总结:for...of 循环适用于遍历可迭代对象的值,而 for...in 循环适用于遍历对象的属性。
阅读全文