在JavaScript中,for...in
和for...of
都是循环结构,但它们用于不同的目的,并操作于不同类型的对象。
for...in
:目的: 用于迭代对象的属性,包括其原型链上的属性。
示例:
const obj = { a: 1, b: 2, c: 3 };
for (const key in obj) {
console.log(key, obj[key]);
}
迭代: 对象的键(包括继承的键)。
额外说明:
for...of
:目的: 用于迭代可迭代对象,如数组、字符串、映射、集合等。
示例:
const array = [1, 2, 3];
for (const value of array) {
console.log(value);
}
迭代: 可迭代对象的值。
额外说明:
[Symbol.iterator]
方法的对象)。for...in
相比,特别是在处理数组或其他可迭代对象时,它提供了更简洁的语法。总体而言,for...in
用于迭代对象属性,而for...of
用于迭代可迭代对象。在处理数组、字符串、映射、集合等时,通常首选for...of
。在处理对象时,特别是具有原型的对象时,可能更适合使用for...in
。
原文链接:codingdict.net