forof-forin-的区别

简单的区别是:
for…of得到是value, for…in得到的是key.
下面详细说区别。
for…of是在es6时出现的。与其对应的是Iterator接口。Iterator接口对应的是可以返回遍历器对象的方法。这个方法使用[Symbol.iterator]标记。因为遍历器对象返回的是当前值。所以for…of得到的value.
for…in是在当前对象的除Symbol属性以外的可枚举属性组成的列表中遍历。所以for…in得到的是对象的属性。
用途
for…of一般用于Array/String/Set/Map… 因为他们有Iterator接口
for…in一般用于Object/类数组 因为Object没有Iterator接口

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理