for...of和for...in的区别

for...of遍历的是成员,for...in遍历的是key;

数组中,for...in遍历的是数组的索引,所以一般遍历数组不会使用for...in,而使用for...of

for...in 遍历数组键名(索引)以及对象所有的可枚举属性length等,包括原型。

for...of是对实现了Iterator接口的数据结构进行遍历,对象没有实现Iterator接口所以无法进行遍历

let arr = [1,2,3];
for(let key in arr){
    console.log(key);// 0 1 2 
}

for(let key of arr){
    console.log(key);//1,2,3
}

你可能感兴趣的:(ES6高阶,for...in,for...of)