for-in 和 for-of

先来看下结果
1.for in 对数组(Array)的遍历

image.png

2.for in 对对象(Object)的遍历

image.png

3.for of 对数组(Array)的遍历

image.png

4.for of 对对象(Object)的遍历

image.png

所以
for..of适用遍历数/数组对象/字符串/map/set等拥有迭代器对象的集合.但是不能遍历对象,因为没有迭代器对象
for-of循环不支持普通对象,但如果你想迭代一个对象的属性,你可以用for-in循环(这也是它的本职工作)或内建的Object.keys()方法

不要用for-in去遍历数组,为什么?


image.png

综上所述:
for-in:遍历对象
for-of:遍历数组

for in 在遍历的时候tslint会要加一个判断,用下面这个就好
for (var key in myObject) {
  if(myObject.hasOwnProperty(key)){
    console.log(key);
  }
}


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容